Wednesday, March 17, 2021

MYSQL EXPLAIN字段含义

explain包含id、select_type、table、type、possible_keys、key、key_len、ref、rows、extra字段

id
id列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按select出现的顺序增长的。

 

select_type
select_type表示对应行是简单还是复杂的查询。1. simple:简单查询2. primary:复杂查询中最外层的select3. subquery:包含在select中的子查询(不在from子句中)4. derived:包含在from子句中的子查询5. union:在union中的第二个和随后的select6. union result:从union临时表检索结果的select

table
这一列表示explain的一行正在访问哪张表。


type
这一列表示关联类型或访问类型,即mysql决定如何查找表中的行性能优先级依次从最优到最差分别为:system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>all1.null:mysql能够在优化阶段分解查询语句,在执行阶段用不着再访问表或索引。2.const、system:mysql能对查询的某部分进行优化并将其转化成一个常量(可以看show warnings的结果)。 3.eq_ref:primary key 或unique key索引的所有部分被连接使用,最多只会返回一条符合条件的记录。 4.ref:相比eq_ref,不实用唯一索引,而是使用普通索引或者唯一性索引的部分前缀,索引要喝某个值相比较,可能会找到符合条件的行。5.ref_or_null:类似ref,但是可以搜索值为null的行。6.index_merge:表示使用了索引合并的优化方法。7.range:范围扫描通常出现在in(),between,>,<,>=等操作中。8.index:和all一样,不同就是mysql只需扫描索引树,这通常比all快一些。9.all:全表扫描,意味着mysql需要从头到尾去查找所需要的行,通常情况下这需要增加索引来进行优化了。

 

    possible_keys

这一列显示查询可能使用哪些索引来查找

 

   key

 

这一列显示mysql实际采用哪个索引来优化对该表的访问

 

 

   key_len
这一列显示了mysql在索引里使用的字节数,通过这个值可以算出具体使用了索引中的那些列

 

   ref
在key列记录的索引中,表查找值所用到的列或常量,常见的有:const,func,null,字段名

 

  rows

mysql估计要读取并检测的行数,注意这个不是结果集里的行数。

 

  extra

展示的是额外信息1.distinct:一但mysql找到了与行相联合和匹配的行,就不再搜索了。2.using index:这发生在对表的请求列都是同一索引的部分的时候,返回的列数据只使用了索引中的信息,而没有再去访问表中的行记录。(是性能高的表现)3.using where:mysql服务器将在存储引擎检索行后再进行过滤。就是先读取整行数据,再按where条件进行检查,符合就留下,不符合就丢弃。4.using temporary:mysql需要创建一张临时表来处理查询。出现这种情况一般是要进行优化的,首先是想到用索引来优化。5.using filesort:mysql会对结果使用一个外部索引排序,而不是按索引次序从表里读取行。此时mysql会根据联接类型浏览所有符合条件的记录,并保存排序关键字和行指针,然后排序关键字并按顺序检索行信息。这种情况下一般也是要考虑使用索引来优化的。

 

 

 








原文转载:http://www.shaoqun.com/a/632750.html

跨境电商:https://www.ikjzd.com/

东西网:https://www.ikjzd.com/w/1238

智赢:https://www.ikjzd.com/w/1511


explain包含id、select_type、table、type、possible_keys、key、key_len、ref、rows、extra字段idid列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按select出现的顺序增长的。select_typeselect_type表示对应行是简单还是复杂的查询。1.simple:简单查询2.primary:复杂
patents:https://www.ikjzd.com/w/857
洋老板:https://www.ikjzd.com/w/2779
笨鸟:https://www.ikjzd.com/w/2713
阿里国际站如何高质量RFQ客户营销:https://www.ikjzd.com/home/138559
Cyfe:https://www.ikjzd.com/w/439
亚马逊1月1日起对美国四个州订单征税:https://www.ikjzd.com/home/113752

No comments:

Post a Comment