const:单表查询,条件是主键或者非NULL唯一索引的等值判断就是const(常数级别)。 eq_ref:连接查询中,被驱动表可能出现,出现条件与单表查询的const一样。 ref:单表查询,条件是唯一索引为NULL或者非唯一索引的等值判断就是ref(单点扫描区间)。 ref_or_null:与ref一样,条件加上OR 列 = NULL。 index_merge:之前...
const表示这是一个常量值。 小结 通过上述步骤,你学习了如何在MySQL中创建表、插入数据、创建索引、执行查询并分析执行计划。在分析执行计划时,ref和const的出现表明查询能够利用索引来提高性能。 REF通常表示使用索引中某个值(可以是一个字段或者常量),而CONST则意味某个表仅有一行符合条件。 这两者都极大地提升了查...
一、type:连接类型 最关键的一列 效率(const>eq_ref>ref>range>index>all) 1、const:查询索引字段,并且表中最多只有一行匹配(好像只有主键查询只匹配一行才会是const,有些情况唯一索引匹配一行会是ref) 2、eq_ref 主键或者唯一索引 3、ref 非唯一索引(主键也是唯一索引) 4、range 索引的范围查询 5、index (t...
一、type:连接类型 最关键的一列 效率(const>eq_ref>ref>range>index>all) 1、const:查询索引字段,并且表中最多只有一行匹配(好像只有主键查询只匹配一行才会是const,有些情况唯一索引匹配一行会是ref) 2、eq_ref 主键或者唯一索引 3、ref 非唯一索引(主键也是唯一索引) 4、range 索引的范围查询 5、index (t...
一、执行计划? 二、执行计划中的列 1. id列 1)id相同 2)id不同 3)id相同又不同 2. select_type列 3. table列 4. partitions列 5. type列 1)ALL 2)index 3)range 4)ref 5)eq_ref 6)const 7)system 6. possible_keys列 7. key列 8. key_len列 9. ref列 10. rows列 11. filtered列 12...
执行计划语法 执行计划可以通过EXPLAIN、DESCRIBE、DESC关键字来查询的,但是一般会使用EXPLAIN进行查询,DESCRIBE主要用于查询表结构。EXPLAIN为SELECT语句中使用的每个表返回一行信息,它按照MySQL在处理语句时读取表的顺序列出输出中的表。 EXPLAIN语法如下: {EXPLAIN | DESCRIBE | DESC} ...
const类型要求你的二级索引必须是唯一索引,保证二级索引的每一个值都是唯一的才可以。 ref 如果你对name加了一个普通的索引,不是唯一索引,你的查询SQL像这样select * from table where name=x,它在执行计划里叫做ref,查询速度也是很快的。 如果你是包含多个列的普通索引的话,那么必须是从索引最左侧开始连续多个列...
const:表最多有一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被优化器剩余部分认为是常数。const表很快,因为它们只读取一次! eq_ref:对于每个来自于前面的表的行组合,从该表中读取一行。这可能是最好的联接类型,除了const类型。
const:表最多有一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被优化器剩余部分认为是常数。const表很快,因为它们只读取一次! eq_ref:对于每个来自于前面的表的行组合,从该表中读取一行。这可能是最好的联接类型,除了const类型。
ref:显示索引的哪一列被使用了,值的格式是:database.table.column,如果是一个常量,那么ref就是const。比如: ref rows:根据表统计信息及索引使用情况,大致估算出找到所需记录需要读取的行数。 fltered:按表条件过滤的行百分比 extra:包含了一些十分重要但又不适合在其他列显示的信息。包含以下内容:...