您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用innodb行鎖”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用innodb行鎖”吧!
三種級別
record lock 鎖住某一行記錄
gap lock 鎖住某一段范圍中的記錄
next key lock 是前兩者效果的疊加
實驗環境
mysql> select @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
mysql> select * from t;
+------+
| id |
+------+
| 2 |
| 8 |
| 19 |
| 22 |
+------+
mysql> create index t_ind on t(id);
Query OK, 0 rows affected (8.52 sec)
同時打開兩個會話,并打開事物
會話一
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from t where id=19;
Query OK, 1 row affected (0.00 sec)
會話二
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t values(55);
Query OK, 1 row affected (0.00 sec)
mysql> insert into t values(10);
^C^C -- query aborted
ERROR 1317 (70100): Query execution was interrupted
mysql>
mysql> insert into t values(1);
Query OK, 1 row affected (0.00 sec)
mysql> insert into t values(12);
^C^C -- query aborted
ERROR 1317 (70100): Query execution was interrupted
mysql>
會話二說明8-22之間被鎖住了,無法插入數據.這就是gap lock
取消gap lock
修改事物的隔離級別到READ COMMITTED
到此,相信大家對“怎么使用innodb行鎖”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。