关于mysql的explain慢查询详解
expain出来的信息有10列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra
概要描述:
id:选择标识符
select_type:表示查询的类型。
table:输出结果集的表
partitions:匹配的分区
type:表示表的连接类型
possible_keys:表示查询时,可能使用的索引
key:表示实际使用的索引
key_len:索引字段的长度
ref:列与索引的比较
rows:扫描出的行数(估算的行数)
filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明
需要关注的地方:type,possible_keys,key,rows, key_len和Extra
type :const | ref | range | index | all(从小到大)
const :基本上使用等于的时候才会出现这个值
ref :小范围结果的时候,就会这个值
range :大范围结果的时候,就会这个值
index :整个索引查询,遍历索引
all :全表查询,使用索引了。
Extra:
Using filesort :文件排序,这个就很慢了。可以优化
Using temporary :使用了临时表,这个就可以优化
Using index :使用了索引覆盖
Using where :使用了数据过滤
快,滋醒这个做梦的人,有糖尿病的往后靠靠哈,不要给他点甜头!