Skip to content

隔离等级对加锁的影响

  • 读未提交(Read Uncommitted 后续简称 RU):可以读到未提交的读,基本上不会使用该隔离等级,所以暂时忽略。
  • 读已提交(Read Committed 后续简称 RC):存在幻读问题,对当前读获取的数据加记录锁
  • 可重复读(Repeatable Read 后续简称 RR):不存在幻读问题,对当前读获取的数据加记录锁,同时对涉及的范围加间隙锁,防止新的数据插入,导致幻读。
  • 序列化(Serializable):从 MVCC 并发控制退化到基于锁的并发控制,不存在快照读,都是当前读,并发效率急剧下降,不建议使用。

锁的类型

表锁

行锁

行锁模式

  • 共享锁(S锁)
  • 排他锁(X锁)
  • 更新锁(U锁)

实际中是怎么加锁的

隔离级别脏读不可重复读幻影读
READ-UNCOMMITTED
READ-COMMITTED×
REPEATABLE-READ××
SERIALIZABLE×××