說明
1、當我們用範圍條件檢索數據,並請求共享或排他鎖時,InnoDB會為符合條件的已有數據記錄的索引項目加鎖;對於鍵值在條件範圍內但不存在的記錄,稱為間隙。
2、InnoDB也會對這個間隙加鎖,這種鎖定機制就是所謂的間隙鎖。
注意
若執行的條件是範圍過大,則InnoDB會將整個範圍內所有的索引鍵值全部鎖定,很容易對效能造成影響。
實例
Transaction-A mysql> update innodb_lock set k=66 where id >=6; Query OK, 1 row affected (0.63 sec) mysql> commit; Transaction-B mysql> insert into innodb_lock (id,k,v) values(7,'7','7000'); Query OK, 1 row affected (18.99 sec)
以上是mysql間隙鎖怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!