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

Published

11 November 2022

Tags