EXPLAIN
是 MySQL 中一个非常有用的工具,用于分析查询的执行计划。通过 EXPLAIN
,你可以了解 MySQL 是如何执行查询的,包括它如何使用索引、表的扫描方式等。这有助于优化查询性能。以下是 EXPLAIN
输出的各个字段的详细解释:
基本用法
EXPLAIN SELECT * FROM table_name WHERE condition;
输出字段解释
-
id
- 含义:查询的标识符。每个
SELECT
语句都有一个唯一的id
。 - 说明:如果查询包含子查询或联合查询,每个子查询或联合部分都会有自己的
id
。
- 含义:查询的标识符。每个
-
select_type
-
含义:查询的类型。
-
常见值
SIMPLE
:简单的SELECT
查询,不包含子查询或联合查询。PRIMARY
:最外层的SELECT
查询。SUBQUERY
:子查询中的第一个SELECT
。DERIVED
:派生表(即在FROM
子句中的子查询)。UNION
:联合查询中的第二个或后续的SELECT
。UNION RESULT
:联合查询的结果。
-
-
table
- 含义:当前行所展示的表名。
- 说明:如果是联合查询或子查询,可能会显示临时表。
-
partitions
- 含义