首页   快速返回

InnoDB锁机制之Gap Next-Key Record Lock     所属分类 mysql
MySQL InnoDB支持三种行锁定方式:

行锁(Record Lock)
锁直接加在索引记录上面,锁住的是key

间隙锁(Gap Lock)
锁定索引记录间隙,确保索引记录的间隙不变。间隙锁 针对事务隔离级别为可重复读或以上级别 

Next-Key Lock 
行锁和间隙锁组合起来就叫Next-Key Lock


InnoDB 可重复读隔离级别,以Next-Key Lock的方式对数据行进行加锁,防止幻读。
Next-Key Lock是行锁和间隙锁的组合,当InnoDB扫描索引记录的时候,会首先对索引记录加上行锁(Record Lock),
再对索引记录两边的间隙加上间隙锁(Gap Lock) ,阻止其他事务在这个间隙修改或者插入记录。

行锁防止别的事务修改或删除,GAP锁防止别的事务新增,行锁和GAP锁结合形成的Next-Key锁  解决 RR级别的幻读问题

上一篇     下一篇
区块链简介

文字与货币

内存映射文件

Mysql事务隔离级别

innodb mvcc

go http server