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 |
不用读取表中所有信息,仅通过索引就可以获取所需数据 |