Spring事务的五种事务隔离级别

一、数据库事务的四种隔离级别

JDBC事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。

1. Read uncommitted

无法保证并发事务出现的问题

 

2. Read committed(只能读取已提交的数据,可避免脏读)

一事务未提交时,不能去读取数据

 

3. Repeatable read(可避免脏读、不可重复读)

一事务未提交时,不能去读取数据

一事务在读取数据时,另一事物不能去修改数据

 

 4. Serializable (事务串行化顺序执行)

不会出现并行事务,效率低下,一般不使用。

 

Tips:大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。

    Mysql的默认隔离级别是Repeatable read。

Tips:隔离级别的设置只对当前链接有效。

     对于使用MySQL命令窗口而言,一个窗口就相当于一个链接,当前窗口设置的隔离级别只对当前窗口中的事务有效;

     对于JDBC操作数据库来说,一个Connection对象相当于一个链接,而对于Connection对象设置的隔离级别只对该Connection对象有效,与其他链接Connection对象无关。

Tips:设置数据库的隔离级别一定要是在开启事务之前。

 

 

二、Sping事务的五种隔离级别

1. ISOLATION_DEFAULT 

  使用数据库默认的隔离级别

 

2. ISOLATION_READ_UNCOMMITTED 

  事务最低的隔离级别

 

3.ISOLATION_READ_COMMITTED

  保证一个事务修改的数据提交后才能被另外一个事务读取

 

4.ISOLATION_REPEATABLE_READ

  保证一个事务修改的数据提交后才能被另外一个事务读取

  保证一个事务读取数据后,另外一个事务才能修改

 

5.ISOLATION_SERIALIZABLE

   这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行

 

转载于:https://www.cnblogs.com/Hibara/p/9519568.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值