mysql 执行计划 : explain select * from dual;
这种模式可以看到mysql给出的最优执行语句
EXPLAIN EXTENDED select * from persona;
show WARNINGS;
执行计划 type 列 : system > const > eq_ref > ref > range > index > all
const : 用于primary key 或 unique key 的所有列与常数比较时,所以表最多有一个匹配行
system:system 是const 的特例,表里面只有一条元祖匹配为system
eq_ref: primary key 或 unique_key 索引的所有部分被连接使用,最多就返回一条符合条件的记录
ref: 不适用唯一索引,而是使用普通索引或者唯一索引的部分前缀,索引要和某个值比较,可能会找到多个符合的行
range: 范围扫描通常出现在 in ,between, > ,< ,>=等操作中,使用一个索引来检索给定的范围行
index: 全表索引扫描
all : 全表扫描,index 是从索引中读取,all是从硬盘中读取,通常这种情况需要增加索引来优化
mysql 索引底层理解





本文深入解析MySQL的执行计划,包括不同类型的执行策略及其应用场景。从system到all,详细解释每种类型的特点,如const用于主键或唯一键的比较,eq_ref用于返回单一记录,以及全表扫描与索引扫描的区别。
2012

被折叠的 条评论
为什么被折叠?



