MySQL中 EXPLAIN命令的作用是什么

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时,使用了覆盖索引,性能最好)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。