mysql innodb插入意向锁

innodb中有插入意向锁。专门针对insert,假设插入前,该间隙已经由gap锁,那么Insert会申请插入意向锁。

那么这个插入意向锁的作用是什么?

1、为了唤起等待。由于该间隙已经有锁,插入时必须堵塞。插入 意向锁的作用具有堵塞功能。

2、插入意向锁是一种特殊的间隙锁,既然是一种间隙锁,为什么不直接使用间隙锁?

     间隙锁之间不相互排斥。不可以堵塞即唤起等待,会造成幻读。

3、为什么不使用记录锁或next-key锁?

      申请了记录所或next-key锁,next-key锁之间可能相互排斥,即影响insert的并发性。


不知道这样理解是否正确,各位有研究过插入意向锁的是否能给个建议?

原文地址:https://www.cnblogs.com/cxchanpin/p/7163055.html