explain语句进行分析。还需要进一步分析的话可以进行optimizer_trace,一共prepare、optimizer、execute阶段,主要关注optimizer阶段。
key
实际使用的索引。
key_len
使用的索引的长度。可以分析联合索引用上了几个字段。如果命中的索引字段默认空值,会增加1字节。
rows
MYSQL认为必须检查的用来返回请求数据的行数
extra
using index 索引覆盖,减少回表。
using index condition mysql5.6版本后推出 索引下推,server层过滤下推到存储引擎层,减少回表。
关闭索引下推
set optimizer_switch='index_condition_pushdown=off';
using filesort 需要关注,对记录进行文件排序,未用上索引。
Using join buffer (Block Nested Loop) 需要关注,需要进行嵌套循环计算,关联字段增加索引。