mysql innodb插入意向锁

Posted cxchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql innodb插入意向锁相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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


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


以上是关于mysql innodb插入意向锁的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-InnoDB锁

mysql插入意向锁测试

MySQL InnoDB锁

MySQL Innodb 中的锁

MySQL锁的定义( 意向共享锁意向排他锁死锁)

MySQL锁的定义( 意向共享锁意向排他锁死锁)