zoukankan      html  css  js  c++  java
  • 数据库事务的4种隔离级别

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

    • 读脏:事务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   

  • 相关阅读:
    一周总结
    各个方法的不同和优缺点
    随机抽签程序报告
    一周总结
    一周总结
    一周总结
    数据库基本知识
    线程相关概念
    进程相关概念
    模拟ssh实现远程执行命令(socket)
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14477885.html
Copyright © 2011-2022 走看看