数据库事务的四种隔离级别及脏读、幻读、不可重复读【通俗版】

  • 未提交读(Read Uncommitted)
    A事务只要修改数据,其他事务就可以看到
    优点:并发能力最强
  • 提交读(Read Committed)
    A事务修改数据,但未提交,其他事务不能读到A事务未提交的数据
    多数数据默认的事务等级
  • 可重复读(Repeatable Read)
    A事务不会修改其他事务未提交的数据
  • 串行化(Serializable)
    事务按顺序执行
    性能低,很少使用

以上四种级别为逐渐递增方式,如下:√: 可能发生 ×: 不会发生

脏读不可重复读幻读
未提交读
提交读x
可重复读xx
串行化xxx

mysql默认可重复读,支持四种
Oracle默认为读写提交,只支持读写和串行化


  • 脏读
    A事务访问数据并修改,但没提交。B事务访问并使用了这个数据
  • 不可重复读
    A事务多次读同一数据,事务未结束,但B事务修改并提交了数据,此时A事务读到数据不一致
  • 幻读
    A事物查询后,B事物添加一数据后提交,A事物两次查询的数据不一样
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值