mysql 實驗論證 innodb表級鎖與行級鎖

innodb 的行鎖是在有索引的狀況下,沒有索引的表是鎖定全表的.session

表鎖演示(無索引)spa

操做13d

操做2blog

處於等待狀態....索引

再回到操做1 commit之後,操做2就出來結果了(鎖定了8秒,過了6秒左右纔去session1提交)。it

實驗結果是:io

我在操做1的for update 操做看似只鎖定ID爲2的行其實鎖定了全表,以致於後面操做2的對ID爲1的行update 須要等待操做1鎖的釋放。 innodb

行鎖演示(索引爲ID) date

增長索引:im

 

實驗結果:

此次的鎖定是鎖定的行,因此沒有被鎖定的行(ID不爲2的行)能夠進行update..

相關文章
相關標籤/搜索