MySQL高级 - 锁 - InnoDB行锁 - 间隙锁危害
生活随笔
收集整理的這篇文章主要介紹了
MySQL高级 - 锁 - InnoDB行锁 - 间隙锁危害
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
隙鎖危害
當(dāng)我們用范圍條件,而不是使用相等條件檢索數(shù)據(jù),并請(qǐng)求共享或排他鎖時(shí),InnoDB會(huì)給符合條件的已有數(shù)據(jù)進(jìn)行加鎖; 對(duì)于鍵值在條件范圍內(nèi)但并不存在的記錄,叫做 "間隙(GAP)" , InnoDB也會(huì)對(duì)這個(gè) "間隙" 加鎖,這種鎖機(jī)制就是所謂的 間隙鎖(Next-Key鎖) 。
示例 :
| 關(guān)閉事務(wù)自動(dòng)提交 | 關(guān)閉事務(wù)自動(dòng)提交 |
| 根據(jù)id范圍更新數(shù)據(jù) | |
| 插入id為2的記錄, 出于阻塞狀態(tài) | |
| 提交事務(wù) ; | |
| 解除阻塞 , 執(zhí)行插入操作 : | |
| 提交事務(wù) : |
總結(jié)
以上是生活随笔為你收集整理的MySQL高级 - 锁 - InnoDB行锁 - 间隙锁危害的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL高级 - 锁 - InnoDB
- 下一篇: MySQL高级 - 锁 - InnoDB