您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關mysql如何實現innodb表級鎖與行級鎖的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
innodb 的行鎖是在有索引的情況下,沒有索引的表是鎖定全表的.
表鎖演示(無索引)
操作1
操作2
處于等待狀態....
再回到操作1 commit以后,操作2就出來結果了(鎖定了8秒,過了6秒左右才去session1提交)。
實驗結果是:
我在操作1的for update 操作看似只鎖定ID為2的行其實鎖定了全表,以至于后面操作2的對ID為1的行update 需要等待操作1鎖的釋放。
行鎖演示(索引為ID)
增加索引:
實驗結果:
這次的鎖定是鎖定的行,所以沒有被鎖定的行(ID不為2的行)可以進行update..
感謝各位的閱讀!關于“mysql如何實現innodb表級鎖與行級鎖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。