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
- 含義