加鎖的規(guī)則
包含了兩個“原則”豆挽、兩個“優(yōu)化”和一個“bug”
1)原則1:加鎖的基本單位是 next-key lock。next-key lock 是前開后閉區(qū)間骂租。
2)原則2:查找過程中訪問到的對象才會加鎖祷杈。
3)優(yōu)化1:索引上的等值查詢斑司,給唯一索引加鎖的時候渗饮,next-key lock 退化為行鎖。
4)優(yōu)化2:索引上的等值查詢宿刮,向右遍歷時且最后一個值不滿足等值條件的時候互站,nextkey lock 退化為間隙鎖。
5) 一個 bug:?:唯一索引上的范圍查詢會訪問到不滿足條件的第一個值為止僵缺。