因此,采取了折中的页级锁,一次锁定相邻的一组记录。...这个我也不会,没法演示
间隙锁Gap Lock
间隙锁将锁定一个范围,但不包括记录本身.作用是为了防止同一事务下2次读出现幻读的情况,该锁只会在隔离级别为RR(可重复读,序列化) 时存在....引入了间隙锁
间隙锁如何解决幻读
在插入数据时,mysql额外增加了间隙锁的概念,在插入表数据后,会生成 "前开后闭"的间隙区间:
-∞,2 2,6 6,9 9,∞
当给b=6加锁时,其实是给2,6...如果通过存在的主键直接精确查找加锁,将只会增加行锁
普通索引下:
如果在存在的索引中加锁,将会在索引2边进行间隙锁加锁
如果在不存在的索引中加锁,将会在此索引间隙中加锁
行锁
行锁是在索引记录上的锁...都可以认为是悲观锁
自增锁
如果表存在自增字段,则mysql会额外增加一个自增锁用于控制自增数.