产生死锁
Mysql 5.6.35,当一个表中有两个二级索引(两条索引分别用a,b指示),且这两个二级索引都被应用到查询语句时,查询不是只走索引A或者只走索引B,而是使用了index_merge(该概念详细看下文链接),从而造成了死锁。
解决方案
- 利用force index(A)强制走某个索引
- 用命令禁用Index Merge:SET GLOBAL optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off';
- 给索引A,B创建一个联合索引 引用博文:juejin.cn/post/692151…