文章目录
explain 执行计划中 extra 常见内容说明
extra 字段内容
extra 字段内容主要包括:Using filesort 、Using temporary 、Using index、Using where、Using join buffe 等。
Using filesort
表示没有使用索引的排序。
在排序的语句中都出现了 Using filesort,字面意思可能会被理解为:使用文件进行排序或中文件中进行排序。实际上这是不正确的,这是一个让人产生误解的词语。
在对一个没有索引的字段进行排序时,就是 filesort。它跟文件没有任何关系,实际上是内部的一个快速排序。
示例(ip 字段不是索引):
explain select * from config_camera order by ip
Using temporary
表示使用临时表保存中间结果,常见于排序 order by 和分组查询 group by。
Using index
表示使用了覆盖索引。
示例:
Using index condition
索引下推(简单来说,就是推迟回表操作)。查找使用了索引,但是需要回表查询数据,此时就是因为索引列没有完全包含查询列。
示例(city 字段为索引):
select city,name,age from t where city='杭州' order by name limit 1000 ;
Using where
表示使用了 where 过滤,过滤条件字段无索引。
Using join buffer
表示使用了连接缓存。