亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

mysql優化 - mysql innodb 表鎖,跪求dba大牛,解答

【字号: 作者:豬豬瀏覽:82日期:2022-06-12 10:08:11

問題描述

問題:1.在innodb中沒有開啟事務而且autocommit=1的情況下,update,delete會不會造成鎖表?

我在終端開啟了兩個mysql會話,表t一共有350萬行數據

單獨執行:

會話1:update t set status=1 where id>1; 16.*秒 會話2:update t set status=1 where id<3500000; 12.*秒

同時執行,我的理解:

**在我看來,這兩條sql,同時執行,同時操作同一條記錄的情況,只有一次****在innodb中update和delete都會隱式添加排它鎖,那么就是說這兩條sql同時執行,只會阻塞很短的時間,畢竟只有同時操作同一條記錄的情況下,才會阻塞**

同時執行,測試結果:

兩條sql,間隔執行時間,在半秒左右.會話1先執行:update t set status=1 where id>1;16.*秒,沒有變化 會話2后執行:update t set status=1 where id<3500000; 28.* = 12.*秒+16.*秒會話2先執行:update t set status=1 where id>1;12.*秒,沒有變化 會話1后執行:update t set status=1 where id<3500000; 28.* = 16.*秒+12.*秒

難道兩條sql,同時操作同一個記錄時,鎖表了?我的理解應該是只會阻塞很短的時間啊,畢竟只有一次同時操作同一條記錄,就好像,兩個人,a從1數到10,b從10數到1,無論是同樣的速度,還是不是一樣的速度,都只可能同時數到相同的數字一次啊

問題解答

回答1:

一個sql就是一個事務,并不是說操作了1W條記錄就是1W個事務,sql1鎖住所有>1的記錄,sql2會等待sql1釋放鎖

主站蜘蛛池模板: 欧美性猛交xxxx免费看蜜桃 | 96免费精品视频在线观看 | 黄色综合网站 | 在线观看国产免费高清不卡 | 狠狠操影院 | 国产精品久久久久久一级毛片 | 51自拍视频 | 成人亚洲欧美日韩在线观看 | 一级爱做片免费观看久久 | 亚洲特一级毛片 | 视频一本大道香蕉久在线播放 | 欧美人成片免费看视频不卡 | 亚洲第一成年网 | 国产精品免费久久久久影院 | 小优视频在线观看网 | 精品视频vs精品视频 | 在线观看日本永久免费视频 | 午夜激情在线视频 | 精品一区二区三区自拍图片区 | 欧美精品黄页免费高清在线 | 色婷婷国产精品欧美毛片 | 一级特黄aaa大片 | 欧美在线视频一区二区三区 | 99久久国产综合精品女不卡 | 日本一卡2卡三卡4卡 免费网站仙踪 | 黄色免费观看视频网站 | 中文字幕有码热在线视频 | 黄色一级国产 | 欧美一级特黄aa大片在线观看免费 | 欧美成人交tv免费观看 | 国产精品久久久久天天影视 | 国产美女野外做爰 | 久久久久久久99精品免费 | 国产欧美日韩一区 | 一级女性黄色生活片免费的 | 日韩大片在线播放 | 香蕉视频在线免费 | 黄色小视频在线免费观看 | 黄色网页视频 | 91国内视频| 亚洲欧美日韩高清专区一区 |