Spring事务隔离级别与Mysql事务隔离级别

一、MySQL事务隔离级别

读未提交:该级别事务可以读取到其他未提交的事务,造成脏读。

读已提交:能读取到其他提交的事务,可以避免脏读,但可造成不可重复读与幻读。

可重复读:MySQL默认事务隔离级别,可以解决不可重复读,但无法阻止新插入的记录造成后者可能会查到前者无法查出的数据。

序列化:事务的最高隔离级别,所有事务串行执行,性能最差。

二、Spring事务隔离级别

Isolation.Default:Spring:默认隔离级别,即采用数据库的隔离级别。

Isolation.Read_Uncommit:事务未提交可读,会出现脏读。

Isolation.Read_Commit:不可脏读,但会出现幻读和不可重复读。

Isolation.Repeatable_Read:不可脏读,不可重复读,但会出现幻读。

Isolation.Searializable:事务的最高隔离级别,所有事务串行执行。


三、Spring事务传播行为

Required:如果当前存在事务会支持该事物,不存在则开启新的事务。

Required_New:创建新的逻辑事务,表示每次都创建新的逻辑事务。

Supports:支持当前事务,如果没有事务就会以非事务方式执行。

Not_Support:以非事务方式执行,如果当前存在事务就暂停该事务,以非事务方式运行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容