执行计划的type表示访问数据类型,有很多种访问类型。 1、system 表示这一步只返回一行数据,如果这一步的执行对象是一个驱动表或者主表,那么被驱动表或者子查询只是被访问一次。 2、const 表示这个执行步骤最多只返回一行数据。const通常出现在对主键或唯一索引的等值查询中,例如对表t主键id的查询: 3、eq_ref eq_r...
一、type:连接类型 最关键的一列 效率(const>eq_ref>ref>range>index>all) 1、const:查询索引字段,并且表中最多只有一行匹配(好像只有主键查询只匹配一行才会是const,有些情况唯一索引匹配一行会是ref) 2、eq_ref 主键或者唯一索引 3、ref 非唯一索引(主键也是唯一索引) 4、range 索引的范围查询 5、index (t...
除了system和const之外,这是效果最好的关联类型。 4、ref 与上面相反,如果执行计划的某一步的type是ref的话,表示这一步的关联列是非唯一索引。例如,用表jiang的主键id列关联表lock_test的num列,num列上建立了普通索引: 上面SQL执行时,表jiang是驱动表,lock_test是被驱动表,被驱动表上走的是非唯一索引,t...
我在订单编号上建立了唯一索引,通过下图(呃呃,不知道为啥传不了图片了,直接粘结果吧)可以看出,当主键或者唯一索引位于where条件时,那么执行的类型为const mysql> explain select * from `order` where title = 'C1086407110000019'; +---+---+---+---+---+---+---+---+---+---+---+---+ |...
一、解读type 执行计划的type表示访问数据类型,有很多种访问类型。 1、system 表示这一步只返回一行数据,如果这一步的执行对象是一个驱动表或者主表,那么被驱动表或者子查询只是被访问一次。 2、const 表示这个执行步骤最多只返回一行数据。const通常出现在对主键或唯一索引的等值查询中,例如对表t主键id的查询: ...
一、解读type 执行计划的type表示访问数据类型,有很多种访问类型。 1、system 表示这一步只返回一行数据,如果这一步的执行对象是一个驱动表或者主表,那么被驱动表或者子查询只是被访问一次。 2、const 表示这个执行步骤最多只返回一行数据。const通常出现在对主键或唯一索引的等值查询中,例如对表t主键id的查询: ...
详解执行计划 type 列 通过explain 语句可以帮助我们查看查询语句的具体执行计划,那么在执行计划中的 type 列表示 MySQL 是如何查找对应的数据了,我们先来说一下执行计划中 type 列常见的值 这里主要说一下常见的几种:const、ref、range、index,性能从左到右逐渐变差 ...
一、解读type 执行计划的type表示访问数据类型,有很多种访问类型。 1、system 表示这一步只返回一行数据,如果这一步的执行对象是一个驱动表或者主表,那么被驱动表或者子查询只是被访问一次。 2、const 表示这个执行步骤最多只返回一行数据。const通常出现在对主键或唯一索引的等值查询中,例如对表t主键id的查询: ...
mysql执行计划作为分析一条sql的执行效率的工具十分有效,通过explain关键字便可查看select语句的具体执行计划,分析其是否按我们设计的执行,是否使用了索引,是否全表扫描等等。不过有很多开发同学对explain返回的执行计划不是非常了解,这里我通过一些简单的例子,为大家做个入门,希望能够抛砖引玉,让大家在日常开发中看懂expla...
类似于select * from table where name=xx or name IS NULL,那么此时执行计划的type就是ref_of_null。 all all意思就是全表扫描,扫描你聚簇索引里所有的叶子节点,当然是最慢的一种了。 总结: const、ref和range,都是基于索引树的二分查找和多层跳转来查询,所以性能一般都是很高的; ...