MySQL EXPLAIN命令的主要项目说明

ID    SELECT命令的序号(通常为1,子查询的话往往从序号2开始)


select_type

SIMPLE       单纯的SELECT命令

PRIMARY      最外层的SELECT命令

UNION        由UNION语句连接的SELECT命令

DEPENDENT UNION   由UNION语句连接的SELECT命令(依赖外部查询)

SUBQUERY     子查询中的SELECT命令

DEPENDENT SUBQUERY 子查询中的SELECT命令(依赖外部查询)

DERIVED     派生表(FROM语句的子查询)


Table  表名


type

表的连接类型(按效率的高低排序)

system  只存在一条记录的表(=系统表)

const    常量,拥有PRIMARY KEY/UNIQUE制约的索引(结果总为1行)

eq_ref   连接时由PRIMARY KEY/UNIQUE列进行的等值查询

ref      非UNIQUE列进行的等值查询

ref_or_null     ref中加入了[~OR列名IS NULL]的检索

range     使用索引检查一定范围的记录(=,<>,>,>=,<,<=,IS NULL,<>,BETWEEN,IN等运算符)

index     全索引扫描

ALL       全表扫描


possible keys  检索时可能使用到的索引(不存在索引时为NULL)

key  检索时真实使用到的索引(未使用索引时为NULL)

key_len  使用的索引的关键字长度(单位为bytes)

Ref   需要时与比较的列,或者定制(const)

rows  需要遍历的记录数量

Extra  查询时的追加信息 (值为index时,使用了覆盖索引,性能最好)


请使用浏览器的分享功能分享到微信等