日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

对mysql的各种sql语句如何对表加锁的实验

發(fā)布時(shí)間:2023/12/31 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对mysql的各种sql语句如何对表加锁的实验 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

TableA

+----+------+
| c1 | c2?? |
+----+------+
|? 3 | NULL |
|? 4 | NULL |
|? 5 | NULL |
| 11 |?? 12 |
| 12 |?? 13 |
+----+------+
一 在c1上無索引,innodb_locks_unsafe_for_binlog開關(guān)被關(guān)閉。
1? 1.0 select * from ta where c1=11在read_repatable? isolation level的時(shí)候,另一個(gè)session是可以隨便插入的任何值。
?? 1.1 如果是select * from ta where c1=11 lock in share mode它是對(duì)所有的行加S lock,另外一個(gè)session任何值都是不能插入的。
2? update ta set c1=17 where c1=11在read_repatable? isolation level的時(shí)候,對(duì)表中所有行加X行鎖,另外一個(gè)session不能插入任何值。

二 當(dāng)c1上有索引的時(shí)候,非cluster的,非unique的,innodb_locks_unsafe_for_binlog開關(guān)被關(guān)閉。
1? 1.0 select * from ta where c1=11在read_repatable? isolation level的時(shí)候,另一個(gè)session是可以隨便插入的任何值。
?? 1.1 如果是select * from ta where c1=11 lock in share mode 會(huì)對(duì)c1=11這一行加S鎖,在C1<12上所有的行加上S gap鎖,
?? 即另外一個(gè)session插入c1>=12是可以的,但是插入c1<12的值不成功。
2? update ta set c1=17 where c1=11在在read_repatable? isolation level的時(shí)候,對(duì)表中c1=11這一行加上X鎖,對(duì)c1<12這個(gè)區(qū)間插入X gap鎖,
?? ?另外一個(gè)session插入c1>=12是成功的,但是插入c1<12的都是不可以的。

三 innodb_locks_unsafe_for_binlog開關(guān)被打開,index為clustered和unique的。。等等 分別去實(shí)驗(yàn),好多,不寫了。。

?

一個(gè)問題:>select * from tb; +------+------+ | c1 | c2 | +------+------+ | 3 | NULL | | 4 | NULL | | 5 | NULL | | 6 | 11 | | 11 | 12 | | 14 | 13 | | 15 | 16 | | 7 | 10 | | 8 | 10 | | 9 | 10 | +------+------+>show create table tb;| tb | CREATE TABLE `tb` (`c1` int(11) DEFAULT NULL,`c2` int(12) DEFAULT NULL,KEY `c1` (`c1`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |>set autocommit=0; >select * from tb where c1=11;經(jīng)過驗(yàn)證的結(jié)果是:lock monitor顯示的加鎖: 11加S鎖,11的下一條加了S gap鎖, 實(shí)際的操作是: 【11前的一條,11,11后的一條)不能被插入

?

轉(zhuǎn)載于:https://www.cnblogs.com/jack204/archive/2012/08/20/2647962.html

總結(jié)

以上是生活随笔為你收集整理的对mysql的各种sql语句如何对表加锁的实验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。