首页 > 数据库技术 > 详细

数据库事务的4种隔离级别

时间:2021-03-04 10:05:41      阅读:35      评论:0      收藏:0      [点我收藏+]

并发的事务可能存在的问题:

  • 读脏:事务A读到了事务B未提交的数据。
  • 不可重复读:事务A在事务B执行期间修改了数据,导致事务B同一个查询两次结果不一致。
  • 幻读:事务A在事务B执行期间插入了数据,导致事务B先查后插被报重复。

InnoDB的事务隔离级别

  • 读未提交(Read Uncommitted):select 不加锁,可出现读脏,并发性最高,一致性最差;(高并发场景不会用)
  • 串行化(Serializable):所有select 被隐式转化为 select……in share mode,被如果结果集中有update、insert事务,则select被阻塞。(高并发场景不会用)
  • 可重复读(Repeated Read)(InnoDB默认的隔离级别):
    • 普通select 使用快照读
    • 锁select /update /delete 根据查询条件选择记录锁、间隙锁/临键锁,防止读到幻影记录。
  • 读提交(Read Committed)(互联网最常用
    • 普通select 使用快照读
    • 锁select /update /delete 使用记录锁,可能会出现幻读。

以上总结参考:https://mp.weixin.qq.com/s/x_7E2R2i27Ci5O7kLQF0UA   

数据库事务的4种隔离级别

原文:https://www.cnblogs.com/smallzhen/p/14477885.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!