mysql分析sql语句基础工具 -- explain
分析sql语句 explain
explain (sql语句) G;
分析结果:
-
id sql语句编号
如果是连接查询,表之间是平等关系,编号相同;如果有子查询,编号递增。 -
select——type 查询类型
-
table 查询针对的表
该值可能是实际的表名或者临时表,derived表示form子查询,null表示无须查表 -
possible_key 可能用到的索引
-
key 最终使用到的索引
-
key_len 使用索引的最大长度
-
type 查询方式
方式 | 含义 |
---|---|
all | 全表扫描 |
index | 扫描全部索引节点 |
range | 范围内扫描索引 |
ref | 根据索引直接找到某些数据行 |
eq_ref | 根据索引直接找到某一个数据行 |
const | 很快 |
system | 很快 |
null | 不经过表查询 |
-
rows 预估需要扫描多少行
-
extra
值 | 含义 |
---|---|
index | 用到了索引覆盖,效率极高 |
using where | 仅靠索引无法定位,使用了where |
using temporary | 用了临时表,group by 与order by不同列 |
using filesort | 文件排序,可能在内存中或磁盘中 |