004 执行计划的id

一 .关键点id

id表示select查询的执行顺序,其中包含一组数字.可能出现的情况为如下的几种:

[1]id相同,从上向下进行执行.(常见于多表联查的情况下)

[2]id不同,id大的先执行.(常见于子查询的情况下)

通过执行计划的执行顺序,我们可以获取到sql真正的执行顺序.

二 . select type 查询的类型

[1] simple : 简单查询,表示最为简单的查询.

[2]primary : 主查询,常见在用于子查询的时候,表示一个主查询.

[3] subquery : 表示子查询.

[4]derived : 表示衍生表,一般通过临时表出现.

[5] union 和 union result : 一般出现在union的结果集合并的情况下.

三 . table 

该列表示查询到底查询的是哪一张表

四 . partition(分区,这个一般情况下,我们不太会去使用)

五 . type 

表示查询的访问类型,这个是我们优化时最为常见的依据.

我们一般情况下,根据这个信息进行优化.

[1] system : 最好的情况,一般情况下不会出现,只有表中含有一航记录的情况下回出现.

[2]constant : 常量,一般情况情况下表示直接能查询到的情况,一般情况下也不会出现.

[3]eq_ref : 当连表查询的时候,我们常见于一对一的索引查询的时候.

[4]ref : 当出现连表的情况下,我们的连接条件为索引的情况下,一般出现在一对多的情况下.

[5] range : 在使用索引的情况下,如出现如id > 2 这样的情况,性能还不错.

[6]index : 表示查询的时候,使用到了索引.

[1] all : 全表扫描,一般性能是最差的.

六. possible_keys 和keys 

表示是否使用到了索引内容,这个是我们分析sql的一个核心点.

七:

原文地址:https://www.cnblogs.com/trekxu/p/12835266.html