這篇文章給大家分享的是有關MySQL如何實現(xiàn)innodb表級鎖與行級鎖的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務沁陽,10多年網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
innodb 的行鎖是在有索引的情況下,沒有索引的表是鎖定全表的.
表鎖演示(無索引)
操作1
操作2
處于等待狀態(tài)....
再回到操作1 commit以后,操作2就出來結果了(鎖定了8秒,過了6秒左右才去session1提交)。
實驗結果是:
我在操作1的for update 操作看似只鎖定ID為2的行其實鎖定了全表,以至于后面操作2的對ID為1的行update 需要等待操作1鎖的釋放。
行鎖演示(索引為ID)
增加索引:
實驗結果:
這次的鎖定是鎖定的行,所以沒有被鎖定的行(ID不為2的行)可以進行update..
感謝各位的閱讀!關于“mysql如何實現(xiàn)innodb表級鎖與行級鎖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!