Mysql left join索引不好使?
Mysql left join索引不好使?
明明索引已经加了, explain 检查时却没有生效?
表字符集不一致
SQL慢查询, 经过 explain
分析发现关联表索引未生效
最终查到: 关联表的字符集不一致, 一个是 utf8mb4
一个是 utf8
, 后来把表字符集改成一致的就好使了
把关联表字符集改成 utf8mb4
:
ALTER TABLE table_xxx CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
注意: 改表的字符集, 最好在数据库压力小的时候进行操作, 别问我是怎么知道的, 哈哈~
另外, 字符集不一致, 关联查询时, 索引也不一定不好使 😆
参考:
blog comments powered by Disqus