mysql 查询优化

    https://blog.csdn.net/xiaojin21cen/article/details/84058694

 

  id  ->  selectType  ->  type  ->   possible_keys  -> key ->  ref  ->  rows  -> Extra

 

select_type

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

 

type

  对表访问方式,表示MySQL在表中找到所需行的方式,又称“访问类型”。

  ALL、index(全索引扫描)、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)

  

  复合索引中,range 会导致后面列的索引失效

    复合索引 ( a , b , c) ,一般情况下,支持a=?a,ba,b,c 3种索引。
    如果 a 使用的 range ,则 b ,c 列 索引失效。
    如果 b 使用的 range , 则 c 列 索引失效。

  range 比 index索引 要好

    因为 range 开始于索引的某一点,而结束于索引的另一点,不用扫描全部索引。

 

possible_keys

  指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用(该查询可以利用的索引,如果没有任何索引显示 null)

 

Key

  key列显示MySQL实际决定使用的键(索引),必然包含在possible_keys中

 

ref

  使用索引的列

 

rows

  查找到结果集需要扫描读取的数据行数。

 

Extra

  在其他列中没有显示,但是十分重要的额外信息。

  Using filesort, Using index, Using temporary, Using where

 

posted @ 2021-10-15 14:13  抽象Java  阅读(35)  评论(0编辑  收藏  举报