explain分析sql 语句
语法:
explain + select 语句
explain select * from xxx where xxx;
结果解释:
- id: SELECT 识别符. 这是 SELECT 的查询序列号
- select_type
PRIMARY |
子查询中最外层查询 |
SUBQUERY |
子查询内层第一个 SELECT, 结果不依赖于外部查询 |
DEPENDENT SUBQUERY |
子查询内层第一个 SELECT, 依赖于外部查询 |
UNION |
UNION 语句中第二个 SELECT 开始后面所有 SELECT |
SIMPLE |
|
UNION RESULT |
UNION 中合并结果 |
- table: 显示这一步所访问数据库中表名称
- type: 对表访问方式
ALL |
完整的表扫描 通常不好 |
system |
表仅有一行(系统表) 这是 const 联接类型的一个特例 |
const |
表最多有一个匹配行 |
- Possible_keys: 该查询可以利用的索引,如果没有任何索引显示 null
- Rows: 估算出结果集行数
- Extra: 查询细节信息
No tables |
Query 语句中使用 FROM DUAL 或不含任何 FROM 子句 |
Using filesort |
当 Query 中包含 ORDER BY 操作,而且无法利用索引完成排序 |
Using temporary |
某些操作必须使用临时表,常见 GROUP BY, ORDER BY |
Using where |
不用读取表中所有信息,仅通过索引就可以获取所需数据 |