首页 > 编程知识 正文

事务默认的隔离级别,数据库默认的事务隔离级别

时间:2023-05-04 05:55:07 阅读:47182 作者:1834

一. MySQL事务隔离级别

未提交:此级别的事务可以读取其他未提交的事务,从而导致脏读。

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

可重复: MySQL的默认事务隔离级别可以解决不可重复的读取,但如果无法阻止新插入的记录,则可能会检测到前者无法检测到的数据。

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

二. Spring事务隔离级别

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

Isolation.Read_Uncommit :事务未提交为可读,导致脏读。

Isolation.Read_Commit :不能脏,但不能与幻像的读法重复。

Isolation.Repeatable_Read :不要读得太脏。 不能反复读,但会出现幻读。

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

三. Spring事务传播行为

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

Required_New :创建新的逻辑事务。 这意味着每次都要创建新的逻辑事务。

支持:支持当前事务,如果没有事务,则在非事务中执行。

Not_Support :在非事务中执行,如果当前存在事务,则暂停该事务,并在非事务中执行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。