explain 的type类型的理解

type类型 解释
system const的特例,仅返回一条数据的时候。
const 查找主键索引,返回的数据至多一条(0或者1条)。 属于精确查找
eq_ref 查找唯一性索引,返回的数据至多一条。属于精确查找
ref 查找非唯一性索引,返回匹配某一条件的多条数据。属于精确查找、数据返回可能是多条
range 查找某个索引的部分索引,一般在where子句中使用 < 、>、in、between等关键词。只检索给定范围的行,属于范围查找
index 查找所有的索引树,比ALL要快的多,因为索引文件要比数据文件小的多。
all 不使用任何索引,进行全表扫描,性能最差。



 

 

 

 

 

 

 

 

从下到上逐渐变好,使用的索引至少要达到range 级别。

 

id 为主键索引, s_mobile为唯一索引

  • const

     

    explain 的type类型的理解_第1张图片

    image.png

  • eq_ref

     

    explain 的type类型的理解_第2张图片

    image.png

  • ref

     

    explain 的type类型的理解_第3张图片

    image.png

  • range

     

    explain 的type类型的理解_第4张图片

    image.png

  • index
    不使用where 条件,仅仅使用一个排序,会使用索引,进行排序,但是取出数据的速度,并没有ALL快,毕竟多了个排序过程。例如:

  • image.png

  • ALL

     

    explain 的type类型的理解_第5张图片

    image.png



  • 作者:爱吃菠萝的代代
    链接:https://www.jianshu.com/p/bb7722043aec
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

     

    explain 的type类型的理解_第6张图片

    image.png


    如果是从索引就可获取到数据,那使用index的话,速度是超过ALL的,例如:

     

    explain 的type类型的理解_第7张图片

     

    

 

你可能感兴趣的:(java)