本文主要是介绍MySQL - 联表查询从表即使有索引依然 ALL 的一个原因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
今天排查 MySQL 语句性能发现,主外键都添加索引了,为什么 explain 分析 type = ALL?
原因分析
主表和从表的关联字段的编码方式不一样,改成一样的编码方式即可
解决方案
# 修改某张表某字段编码
ALTER TABLE t_xxx CHANGE id id VARCHAR(32) CHARACTER SET utf8 NOT NULL;# 修改某张表编码
ALTER TABLE t_xxx CHARACTER SET utf8;# 查看数据表的编码
SHOW CREATE TABLE t_xxx;# 查看数据表的字段编码
SHOW FULL COLUMNS FROM t_xxx;
这篇关于MySQL - 联表查询从表即使有索引依然 ALL 的一个原因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!