久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql - InnoDB中的鎖

瀏覽:115日期:2022-06-20 14:41:02

問題描述

問題解答

回答1:

------- TRX HAS BEEN WAITING 28 SEC FOR THIS LOCK TO BE GRANTED:RECORD LOCKS space id 6 page no 4 n bits 80 index idx_a of table `test`.`t` trx id 637972 lock_mode X locks gap before rec insert intention waitingRecord lock, heap no 4 PHYSICAL RECORD: n_fields 2; compact format; info bits 32 0: len 4; hex 8000000b; asc ;; 1: len 6; hex 000000000414; asc ;;

這里說的很清楚啊 lock_mode X意味著是排它鎖 gap代表是區間鎖也就是說在insert之前該表加入了區間排他鎖,為什么呢?因為之前執行的這句delete from t where a = 11;會在(negative infinity,11]這個區間加上排他鎖,為什么是排他鎖而不是Record Lock呢,因為你這里的a并非唯一索引,只是一個普通的索引,具體的看http://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html

回答2:

mysql默認的會話隔離級別是repeated read,會產生更多的gap鎖,如果可以接受幻讀,可以考慮降為read commit級別,減少鎖沖突的概率。

相關文章:
主站蜘蛛池模板: 安化县| 吴忠市| 翁牛特旗| 青浦区| 常熟市| 新邵县| 呈贡县| 高唐县| 青川县| 景德镇市| 全南县| 嘉峪关市| 四川省| 青河县| 孟津县| 烟台市| 芒康县| 龙江县| 从化市| 大姚县| 阿拉善左旗| 乌拉特前旗| 望谟县| 永善县| 安平县| 天气| 枣强县| 甘肃省| 阳城县| 辉南县| 抚宁县| 收藏| 青川县| 盐津县| 松阳县| 陵川县| 犍为县| 深泽县| 惠来县| 赣榆县| 黄大仙区|