innodb中有插入意向锁。专门针对insert,假设插入前,该间隙已经由gap锁,那么Insert会申请插入意向锁。
那么这个插入意向锁的作用是什么?
1、为了唤起等待。由于该间隙已经有锁,插入时必须堵塞。插入 意向锁的作用具有堵塞功能。
2、插入意向锁是一种特殊的间隙锁,既然是一种间隙锁,为什么不直接使用间隙锁?
间隙锁之间不相互排斥。不可以堵塞即唤起等待,会造成幻读。
3、为什么不使用记录锁或next-key锁?
申请了记录所或next-key锁,next-key锁之间可能相互排斥,即影响insert的并发性。
不知道这样理解是否正确,各位有研究过插入意向锁的是否能给个建议?