mysql innodb的行鎖(2)
基於索引上鎖,而不是針對選出來的具體的行
root@sakila 10:14:32>show index from tab_no_index \G
*************************** 1. row ***************************
Table: tab_no_index
Non_unique: 1
Key_name: id
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 5
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.00 sec)
第一個會話
root@sakila 10:18:39>select * from tab_no_index where id=1 and name='1' for update;
+------+------+
| id | name |
+------+------+
| 1 | 1 |
+------+------+
1 row in set (0.00 sec)
第二個會話
root@sakila 10:18:42>select * from tab_no_index where id=1 and name='4' for update;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
即使是想更新不同的一條記錄,也需要等第一個會話釋放鎖。
root@sakila 10:14:32>show index from tab_no_index \G
*************************** 1. row ***************************
Table: tab_no_index
Non_unique: 1
Key_name: id
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 5
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.00 sec)
root@sakila 10:18:39>select * from tab_no_index where id=1 and name='1' for update;
+------+------+
| id | name |
+------+------+
| 1 | 1 |
+------+------+
1 row in set (0.00 sec)
第二個會話
root@sakila 10:18:42>select * from tab_no_index where id=1 and name='4' for update;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/674865/viewspace-2135285/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL鎖:03.InnoDB行鎖MySql
- MySQL鎖:InnoDB行鎖需要避免的坑MySql
- Mysql研磨之InnoDB行鎖模式MySql模式
- Mysql innodb引擎(二)鎖MySql
- MySQL InnoDB 中的鎖機制MySql
- MySQL/InnoDB中,樂觀鎖、悲觀鎖、共享鎖、排它鎖、行鎖、表鎖、死鎖概念的理解MySql
- 詳解 MySql InnoDB 中的三種行鎖(記錄鎖、間隙鎖與臨鍵鎖)MySql
- MySQL InnoDB設定死鎖檢測的方法MySql
- 詳解 MySql InnoDB 中意向鎖的作用MySql
- MySQL:Innodb 一個死鎖案例MySql
- 在Linux中,mysql的innodb如何定位鎖問題?LinuxMySql
- MySQL innodb 的間隙鎖定(next-key locking)MySql
- mysql innodb lock鎖之record lock之一MySql
- Mysql技術內幕之InnoDB鎖探究MySql
- InnoDB常用鎖總結(行鎖、間隙鎖、臨鍵鎖、表鎖)
- MySQL底層概述—10.InnoDB鎖機制MySql
- MySQL 行鎖MySql
- MySQL -- 行鎖MySql
- MySQL 配置InnoDB的併發執行緒MySql執行緒
- 資料庫系列:MySQL InnoDB鎖機制介紹資料庫MySql
- MySQL優化篇系列文章(二)——MyISAM表鎖與InnoDB鎖問題MySql優化
- MySQL原理簡介—2.InnoDB架構原理和執行流程MySql架構
- MySQL innodb引擎的事務執行過程MySql
- MySQL資料庫InnoDB儲存引擎中的鎖機制GVMySql資料庫儲存引擎
- MySQL探祕(五):InnoDB鎖的型別和狀態查詢MySql型別
- MySQL InnoDB中的事務隔離級別和鎖的關係MySql
- Innodb中有哪些鎖?
- MySQL鎖(四)行鎖的加鎖規則和案例MySql
- 全面瞭解mysql鎖機制(InnoDB)與問題排查MySql
- InnoDB意向鎖和插入意向鎖
- MySQL:Innodb purge執行緒略解MySql執行緒
- 三分鐘入門 InnoDB 儲存引擎中的表鎖和行鎖儲存引擎
- MySQL全域性鎖、表鎖以及行鎖MySql
- 淺談Innodb的鎖實現
- MySQL索引失效行鎖變表鎖MySql索引
- mysql行鎖和死鎖檢測MySql
- 【問答分享第一彈】MySQL鎖總結:MySQL行鎖、表鎖、排他鎖、共享鎖的特點MySql
- 論 MySql InnoDB 如何通過插入意向鎖控制併發插入MySql
- Innodb 鎖子系統