字段解析
1.id:代表表的执行顺序,id值越大则越先执行,相同则从上往下依次执行
2.select_type:代表查询的类型:
(1)simple:简单查询
(2)primary:包含子查询的最外层为主查询
(3)subquery:子查询
(4)derived:衍生,在from列表中包含的子查询被标记为DERIVED,MySQL会递归执行子查询,将结果放入临时表中
(5)union:union后的select标记为union
(6)union result:union的结果集
3.table:表明是哪张表
4.type:
从最好到最差的次序:system->const->eq_ref->ref->range->index->ALL
5.possible_key与key :
(1)possible_key:显示可能应用正在这张表中的索引,一个或多个
(2)key:实际使用的索引
6.key_len:表示索引字段的最大可能长度,越小越好。
7.ref:显示索引的哪一列被使用
[库].[表].[字段],[const(表示常量)]
8.rows:大致估算出所有读取的行数
9.extra:重要的额外信息
(1)Using Filesort:无法利用索引完成的排序,即排序没走索引需要优化
(2)Using temporary:创建临时表,如:order by , group by
注:创建临时表很拖性能,在会创建临时表的时候需要按索引顺序进行分组,排序
(3)Using index:使用了索引
(4)Using where
(5)Using join buffer:使用了连接缓存
(6)impossible where:where 字段为false