mysql 执行计划分析工具 explain

use af999;
EXPLAIN
select id,username,mobile from t_user where id > 100;

mysql 执行计划

参数分析

1、id: 所选定的执行计划中的查询的序列号
2、select_type: 所使用的查询类型,主要是区别普通查询和联合查询、子查询之类的复杂查询
1)、Simple:最简单的select
2)、Primary:包含任何复杂的子部分,最外层的为primary
3)、Subquery:在select或者where列表包含了子查询,该子查询为subquery
4)、Derived:在from列表中包含的子查询
3、table: 所访问的数据库的表明
4、type
对表所使用的访问方式。从差到好的排列为
mysql 执行计划

5、possible_keys
该查询可以利用的索引,指出mysql能使用的索引在该表找到行。查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用
6、key
显示mysql在查询中实际使用的索引,若没有使用索引,显示为NULL
7、key_len
表示索引中使用的字节数
8、ref
那些列或常量被用于查找索引
9、rows
表示mysql根据表统计及索引选用情况,估算找到的行数
10、extra
1)、Only index:只用索引树的信息检索的
2)、Where used:使用了where限制
3)、Impossible where:用不着where,一般就是什么都没有查出来
4)、Using filesort或者using temporary:表示查询吃力

划重点:执行计划重点看 id,select_type, type, key, rows, extra 这几列,如果没有建立索引,则在key值为空,这时如果性能不好,可以选择对查询字段建立索引试试。