Mysql一些相关知识点

205 阅读1分钟

产生死锁

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…