innodb中有插入意向鎖。專門針對insert,假設插入前,該間隙已經由gap鎖,那么Insert會申請插入意向鎖。
那么這個插入意向鎖的作用是什么?
1、為了喚起等待。由於該間隙已經有鎖,插入時必須堵塞。插入 意向鎖的作用具有堵塞功能。
2、插入意向鎖是一種特殊的間隙鎖,既然是一種間隙鎖,為什么不直接使用間隙鎖?
間隙鎖之間不相互排斥。不可以堵塞即喚起等待,會造成幻讀。
3、為什么不使用記錄鎖或next-key鎖?
申請了記錄所或next-key鎖,next-key鎖之間可能相互排斥,即影響insert的並發性。
不知道這樣理解是否正確,各位有研究過插入意向鎖的是否能給個建議?