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

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

mysql replace 死鎖

瀏覽:198日期:2022-06-11 16:52:18

問題描述

各位好,遇到一個問題,請教一下大家。我現在有一張業務表,結構如下CREATE TABLE rms_pickup_step_agg (htl_cd varchar(20) DEFAULT NULL COMMENT ’酒店編號’,para_typ int(11) DEFAULT NULL COMMENT ’匯總類型’,para_cd varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ’匯總代碼’,sub_typ int(11) DEFAULT NULL COMMENT ’子類型’,sub_cd varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ’子類型代碼’,pickup_day int(11) DEFAULT NULL COMMENT ’Pickup day’,live_dt varchar(30) DEFAULT NULL,occ float DEFAULT NULL COMMENT ’出租房數’,rev float DEFAULT NULL COMMENT ’房費收入’,update_dt datetime DEFAULT CURRENT_TIMESTAMP COMMENT ’更新時間’, UNIQUE KEY idx01_rms_pickup_step_agg (htl_cd,para_typ,para_cd,sub_typ,sub_cd,pickup_day,live_dt) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’Pickup步速表’;

現在有兩個線程同時執行語句,線程1 執行replace INTO rms_pickup_step_agg (htl_cd,para_typ,para_cd,sub_typ,sub_cd,pickup_day,live_dt,occ,rev,update_dt) VALUES (’101336’, ’0’, ’0’, ’3’, ’NC’, ’14’, ’2017’, ’7.0’, ’3160.40’, ’2017-05-29 07:31:27’);不提交

線程2 執行 replace INTO rms_pickup_step_agg (htl_cd,para_typ,para_cd,sub_typ,sub_cd,pickup_day,live_dt,occ,rev,update_dt) VALUES (’101336’, ’0’, ’0’, ’3’, ’NC’, ’14’, ’2016’, ’7.0’, ’3160.40’, ’2017-05-29 07:31:27’);

發現線程2出現等待鎖的情況。

為啥會出現鎖?謝謝!

問題解答

回答1:

你確定是出現死鎖了嗎,按道理說不會的吧,這個唯一索引不沖突。這個表沒有主鍵,你加一個主鍵吧。

回答2:

innodb默認隔離級別下,唯一索引,你又是replace,理論上只是行鎖不應該出現阻塞的,確定你的操作只有這些嗎? 5.7也沒看到有這種事務鎖的更新哪

相關文章:
主站蜘蛛池模板: 津南区| 宁安市| 台北市| 锦州市| 宁阳县| 田林县| 梧州市| 云阳县| 江津市| 襄城县| 宁波市| 赫章县| 新建县| 黔西县| 东城区| 宁乡县| 观塘区| 韶山市| 四子王旗| 潜江市| 小金县| 太和县| 绵阳市| 舒兰市| 南昌市| 灵山县| 普洱| 静乐县| 盐城市| 顺昌县| 湖南省| 新田县| 诸暨市| 广饶县| 克什克腾旗| 岳阳县| 台中市| 英山县| 赤城县| 吐鲁番市| 宜良县|