explain + sql
执行结果字段描述:
id (select唯一标识)
select_type(select类型)
table(表名称)
type(连接类型)
possible_keys(可能的索引选择)
key(实际用到的索引)
key_len(实际索引长度)
ref(与索引比较的列)
rows(预计要检查的行数)
filtered(按表条件过滤的行百分比)
extra(附加信息)
索引失效可能的原因:
不满足最左前缀原则
范围索引列没有放到最后
使用了select *
索引列上有计算
索引列使用了函数
字符类型没有加引号
用 is null 和is not null没有注意到字段是否允许为空
like查询左边有%
使用or关键字没有注意