InnoDB锁机制之Gap Next-Key Record Lock
所属分类 mysql
浏览量 1259
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