mysql 索引合并 index merge 导致的死锁

两个索引 一个唯一键 一个非唯一键时
相同的update语句,可能会由于索引合并,先扫描非唯一键,锁非唯一键时,导致死锁

MySQL官方也已经确认了此bug:77209,解决方法有两种:

添加列1+列2的 组合索引,这样就可以避免掉index merge;
将优化器的index merge优化关闭。

参考
http://mysql.taobao.org/monthly/2016/03/10/
https://bugs.mysql.com/bug.php?id=77209
http://seanlook.com/2017/03/11/mysql-index_merge-deadlock/

© 2017, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com

5.00 avg. rating (95% score) - 1 vote
点赞