MySQL高级 - 锁 - InnoDB行锁 - 基本演示
生活随笔
收集整理的這篇文章主要介紹了
MySQL高级 - 锁 - InnoDB行锁 - 基本演示
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
案例準(zhǔn)備工作
create table test_innodb_lock(id int(11),name varchar(16),sex varchar(1) )engine = innodb default charset=utf8;insert into test_innodb_lock values(1,'100','1'); insert into test_innodb_lock values(3,'3','1'); insert into test_innodb_lock values(4,'400','0'); insert into test_innodb_lock values(5,'500','1'); insert into test_innodb_lock values(6,'600','0'); insert into test_innodb_lock values(7,'700','0'); insert into test_innodb_lock values(8,'800','1'); insert into test_innodb_lock values(9,'900','1'); insert into test_innodb_lock values(1,'200','0');create index idx_test_innodb_lock_id on test_innodb_lock(id); create index idx_test_innodb_lock_name on test_innodb_lock(name);行鎖基本演示
| 關(guān)閉自動(dòng)提交功能 | 關(guān)閉自動(dòng)提交功能 |
| 可以正常的查詢(xún)出全部的數(shù)據(jù) | 可以正常的查詢(xún)出全部的數(shù)據(jù) |
| 查詢(xún)id 為3的數(shù)據(jù) ; | 獲取id為3的數(shù)據(jù) ; |
| 更新id為3的數(shù)據(jù),但是不提交; | 更新id為3 的數(shù)據(jù), 出于等待狀態(tài) |
| 通過(guò)commit, 提交事務(wù) | 解除阻塞,更新正常進(jìn)行 |
| 以上, 操作的都是同一行的數(shù)據(jù),接下來(lái),演示不同行的數(shù)據(jù) : | |
| 更新id為3數(shù)據(jù),正常的獲取到行鎖 , 執(zhí)行更新 ; | 由于與Session-1 操作不是同一行,獲取當(dāng)前行鎖,執(zhí)行更新; |
總結(jié)
以上是生活随笔為你收集整理的MySQL高级 - 锁 - InnoDB行锁 - 基本演示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL高级 - 锁 - InnoDB
- 下一篇: MySQL高级 - 锁 - InnoDB