MySQL EXPLAN 字段结果解释
EXPLAN
显示的是 MySql
如何使用索引和对SQL进行分析的工具。用来查看索引是否生效,关联查询具体情况等信息。
调用 EXPLAN
只需要在查询语句 SELECT
前增加 EXPLAN
这个词即可
EXPLAN 返回信息字段说明:
id:
这一列是编号,标识select说属的行,语句中没有子查询或者联合查询时只会有一条结果,每次都显示为1,反之则以顺序编号,对应在原始语句中的位置。
select_type:
显示查询是简单合适复杂的,SIMPLE是简单的,如果存在复杂的查询则外层部分会标记为PRIMARY。
其他标记:
SUBQUERY 不在from子句中,包含在select列表中的子查询中的select语句。
DERIVED 表示包含在from子句的子查询中的select
UNION 在UNION中的第二个和随后的select被标记为UNION
UNION RESULT 用来从UNION的匿名临时表检索结果的SELECT被标记为UNION RESULT
tabale:
显示对应的行正在访问哪个表
partitions:
type:
访问类型,表述MySQL如何查找表中的行,有 ALL、index,range、ref、er_ref、const、system、NULL等值,ALL为全表扫描,NULL为无需访问表,性能上从最差到最好。
possible_keys:
显示查询可以使用哪些索引,这是基于查询访问的列和使用的比较操作符来判断的
key:
这一列显示MySQL决定采用哪个索引来优化对该表的访问,如果该索引没有出现在possible_keys列中,那么MySQL选用他就是出于其他原因。
key_len:
显示MySQL在索引里使用的字节数
ref:
这一列显示之前的表在key列记录的索引中查找值所用的列和常量
rows:
MySQL估计未来找到所需要的行而读取的行数,既检查行数
filtered:
显示针对表里某个符合条件的记录数百分比进行悲观估计
Extra:
额外信息
本作品采用《CC 协议》,转载必须注明作者和本文链接