【explain】Mysql中explain结果的Type字段

目录:

  一、explain结果中的type字段代表什么意思?

  二、最为常见的扫描方式有: 【扫描方式由快到慢】

  三、各类扫描类型的要点是:

  四、详细举例

 

 

一、explain结果中的type字段代表什么意思?

  MySQL的官网解释非常简洁,只用了3个单词:连接类型(the join type)。它描述了找到所需数据使用的扫描方式。

二、最为常见的扫描方式有: 【扫描方式由快到慢】

  1、system:系统表,少量数据,往往不需要进行磁盘IO;
  2、const:常量连接;
  3、eq_ref:主键索引(primary key)或者非空唯一索引(unique not null)等值扫描;
  4、ref:非主键非唯一索引等值扫描;
  5、range:范围扫描;
  6、index:索引树扫描;
  7、ALL:全表扫描(full table scan);

三、各类扫描类型的要点是:

  1、system最快:不进行磁盘IO  
  2、const:PK或者unique上的等值查询
  3、eq_ref:PK或者unique上的join查询,等值匹配,对于前表的每一行(row),后表只有一行命中
  4、ref:非唯一索引,等值匹配,可能有多行命中
  5、range:索引上的范围扫描,例如:between/in/>
  6、index:索引上的全集扫描,例如:InnoDB的count
  7、ALL最慢:全表扫描(full table scan)

四、详细举例:

参考:https://www.cnblogs.com/benbenhan/articles/13212861.html

 

 

 

 

博客参考:

explain结果中的type字段:https://www.cnblogs.com/benbenhan/articles/13212861.html

posted @ 2022-08-19 18:17  细胞何  阅读(374)  评论(0编辑  收藏  举报