MySQL执行计划怎么看(摘抄)

2021-04-20  本文已影响0人  吃掉夏天的怪物

执行计划就是sql的执行查询顺序,以及如何使用索引查询,返回的结果集的行数
EXPLAIN SELECT * fom A where X =? and Y =? EXPLAIN加上查询语句

执行计划.png
  1. id: 是一个有顺序的编码,是查询的顺序号,有几个select就显示几行。id的顺序就是按select出现的顺序增长的。id列的值越大执行优先级越高越先执行,id列的值相同则从上往下执行,id列的值为NULL最后执行。

2.selectType 表示查询中每个select子句的类型

  1. table: 表示该语句查询的表

4.⭐type:优化sql的重要字段,也是我们判断sql性能和优化程度的重要指标。他的取值类型范围:

执行效率:
ALL < index < range < ref < eq_ref < const < system。最好是避免ALL和index

  1. possible_keus: 它表示Mysql在执行sql语句的时候,可能用到的索引信息,仅仅是可能,实际不一定会用到。
    6.key:此字段是mysql在当前查询时所真正用到的索引。他是possible_keys的子集
    7.key_len: 表示查询优化器使用了索引的字节数,这个字段可以评估组合索引是否完全被使用,这也是我们优化sql时,评估索引的重要指标。
  2. rows: mysq;查询优化器根据统计信息,估算该sql返回结果集需要扫描读取的行数,这个值相当重要,索引优化之后,扫描读取的行数越多,说明索引设置不对,或者字段传入类型之类的问题,说明要优化空间越大。
  3. filtered: 返回结果的行占需要读到的行(rows列的值)的百分比,就是百分比越高,说明需要查询到的数据越准确,百分比越小,说明查询到的数据量大,而结果集很少。
  4. extra
上一篇 下一篇

猜你喜欢

热点阅读