分析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 | 文件排序,可能在内存中或磁盘中 |