Mysql中explain命令查看执行计划

explain SELECt* FROM XX

id
一组数据,表示任务被执行的顺序,序号越大的任务越先执行.
select_type

SIMPLE
不包含任何子查询或union等查询
PRIMARY
包含子查询最外层查询就显示为 PRIMARY
SUBQUERY
在select或 where字句中包含的查询
DERIVED
from字句中包含的查询
UNION
出现在union后的查询语句中
UNION RESULT
从UNION中获取结果集,例如上文的第三个例子
type
ALL 扫描全表数据
index 使用索引
range 索引范围查找
ref 非唯一性索引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找
eq_ref 唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描
const,system 当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问
.NULL:MySQL在优化过程中分解语句,执行时甚至不用访问表或索引

你可能感兴趣的:(mysql,面试)