立即学习:https://edu.csdn.net/course/play/10458/232166?utm_source=blogtoedu
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数,哪些列或常量被用于查找索引上的值
rows:根据表统计信息及索引选用情况,大致估算出找到所需记录所需要读取的行数
Extra:包含不适合在其他列展示的额外重要信息。
- Using filesort:说明mysql会对数据使用一个外部的索引排序,而不是按照表内的索引顺序进行读取,mysql中无法利用索引完成的排序操作成为“文件排序”
- using temporary:使用了临时表保存中间结果,mysql在对查询结果排序时使用临时表,常见于排序order by 和分组查询 group by
- using index:表示相应的select操作使用了覆盖索引,避免访问了表的数据行。如果同时出现了using where,表明索引被用来执行索引键值的查找;如果没有同时出现using where,表明索引用来读取数据而非执行查找动作
- using where
- using join buffer
- impossible where:where子句的信息总是false,不能用来获取任何元组
- select tables optimized away:在没有groupby子句的情况下,基于索引优化min、max操作或者对于myisam存储引擎优化count(*)操作,不必等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。
- 优化distinct操作,在找到第一匹配的元组后即停止找同样值的操作
- distinct