-
select_type
simple:表示不需要union操作或者不包含子查询的简单select语句。有连接查询时,外层的查询为simple且只有一个。
primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的select_type即为primary且只有一个。
union:union连接的两个select查询,除了第一个表外,第二个以后的表的select_type都是union。
union result:包含union的结果集,在union和union all语句中,因为它不需要参与查询,所以id字段为null。 -
table
显示查询的表名;
如果不涉及对数据库操作,这里显示null;
如果显示为尖括号就表示这是个临时表,后边的N就是执行计划中的id,表示结果来自于这个查询
产生的;
如果是尖括号括起来<union M,N>也是一个临时表,表示这个结果来自于union查询的id为M,N
的结果集; -
type
const:使用唯一索引或者主键,返回记录一定是1行记录的等值where条件时,通常type就是 const。
ref:常见于辅助索引的等值查找,或者多列主键、唯一索引中,使用第一个列之外的列作为等值查找会出现;返回数据不唯一的等值查找也会出现。
range:索引范围扫描,常见于使用<、>、is null、between、in、like等运算符的查询中。
index:索引全表扫描,把索引从头到尾扫一遍;常见于使用索引列就可以处理不需要读取数据文件的查询,可以使用索引排序或者分组的查询。
all:全表扫描数据文件,然后在server层进行过滤返回符合要求的记录。 -
ref
如果使用常数等值查询,这里显示const;
如果是连接查询,被驱动表的执行计划这里会显示驱动表的关联字段; -
Extra
using filesort:排序时无法用到索引,常见于order by和group by语句中。
using index:查询时不需要回表查询,直接通过索引就可以获取查询的数据。
explain结果字段分析
最新推荐文章于 2024-06-04 12:47:18 发布