上一篇講到MySQL中使用insert into select時,事務隔離級别為預設的REPEATABLE-READ時會産生鎖,
那麼在此時如果使用update對表進行dml操作時,就有可能産生鎖等待甚至死鎖。
這裡給出一個方案就是講事務隔離級别改成READ-COMMITTED,設定方法:
SET
GLOBAL
tx_isolation =
'READ-COMMITTED'
;
SET
SESSION
tx_isolation =
'READ-COMMITTED'
;
此時還應将binlog_format改成ROW或者MIXED
SET
GLOBAL
binlog_format =
'ROW'
;
或者修改配置檔案
transaction-isolation = READ-COMMITTED
binlog_format = MIXED