标签:常量 message 统计信息 扩展 不可 索引顺序查找 zed 通过 优先级
执行计划(query Execution plan
)
explain select * from table
expain出来的信息有10列,
分别是id,select_type,table、type,partitions,possible_keys,key,key_len,ref,rows,Extra
,下面对这些字段出现的可能进行解释:
SQL执行的顺序的标识,SQL从大到小的执行
示查询中每个select子句的类型
SIMPLE
:简单的SELECT,不实用UNION或者子查询。PRIMARY
:最外层SELECT。UNION
:第二层,在SELECT之后使用了UNION。DEPENDENT UNION
:UNION语句中的第二个SELECT,依赖于外部子查询。UNION RESULT
:UNION的结果。SUBQUERY
:子查询中的第一个SELECT。DEPENDENT SUBQUERY
:子查询中的第一个SELECT,取决于外面的查询。DERIVED
:导出表的SELECT(FROM子句的子查询)MATERIALIZED
:物化子查询UNCACHEABLE SUBQUERY
:无法缓存结果的子查询,必须为外部查询的每一行重新计算UNCACHEABLE UNION
:UNION 属于不可缓存的子查询的第二个或后一个选择输出行引用的表的名称。这也可以是以下值之一:
表示MySQL在表中找到所需行的方式,又称“访问类型”。
常用的类型有: NULL, system, const, eq_ref, ref, range, index, ALL(从左到右,性能从差到好)
以下列表描述了从最佳类型到最差类型的连接类型
const
该表最多只有一个匹配行,在查询开头读取。因为只有一行,所以优化器的其余部分可以将此行中列的值视为常量。 const表非常快,因为它们只读一次。
eq_ref
对于前面表格中的每个行组合,从该表中读取一行。除了 system和 const类型之外,这是最好的连接类型。当连接使用索引的所有部分且索引是 索引PRIMARY KEY或UNIQUE NOT NULL索引时使用它。
ref_or_null
```SELECT * FROM ref_table WHERE key_column IS NULL; ```index_merge
该指数合并访问方法检索与多行 range扫描和他们的结果合并到一个。此访问方法仅合并来自单个表的索引扫描,而不扫描多个表。合并可以生成其基础扫描的联合,交叉或交叉联合
unique_subquery
此类型替换 以下形式的eq_ref某些 IN子查询:
index_subquery
此连接类型类似于 unique_subquery。它替换IN子查询,但它适用于以下形式的子查询中的非唯一索引:
index
该index联接类型是一样的 ALL,只是索引树被扫描。这种情况有两种:
该possible_keys列指示MySQL可以选择在此表中查找行的索引,指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用
该列完全独立于EXPLAIN输出所示的表的次序。这意味着在possible_keys中的某些键实际上不能按生成的表次序使用。
如果该列是NULL,则没有相关的索引。在这种情况下,可以通过检查WHERE子句看是否它引用某些列或适合索引的列来提高你的查询性能。如果是这样,创造一个适当的索引并且再次用EXPLAIN检查查询
key列显示MySQL实际决定使用的键(索引)
如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX。
表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度(key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的)
不损失精确性的情况下,长度越短越好
表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值
表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数
该Extra列 EXPLAIN输出包含MySQL解决查询的额外信息。以下列表说明了此列中可能出现的值。每个项目还指示JSON格式的输出哪个属性显示Extra值。对于其中一些,有一个特定的属性。其他显示为message 属性的文本
记录将与查询匹配的分区。仅在使用PARTITIONS关键字时才显示此列 。非分区表显示null
来源:https://segmentfault.com/a/1190000017751405
标签:常量 message 统计信息 扩展 不可 索引顺序查找 zed 通过 优先级
原文地址:https://www.cnblogs.com/lovellll/p/10225578.html