文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  使用 EXPLAIN 優化查詢

10.8.1 使用 EXPLAIN 優化查詢

EXPLAIN 語句提供有關 MySQL 如何執行語句的資訊

藉由 EXPLAIN 的協助,您可以檢視應將索引新增至表格的哪些位置,以便透過使用索引來尋找資料列,進而更快執行陳述式。您也可以使用 EXPLAIN 來檢查最佳化工具是否以最佳順序聯結表格。若要提示最佳化工具使用與 SELECT 陳述式中表格名稱順序相對應的聯結順序,請以 SELECT STRAIGHT_JOIN 而非僅 SELECT 來開始陳述式。(請參閱 第 15.2.13 節,「SELECT 陳述式」。)但是,STRAIGHT_JOIN 可能會因為停用半聯結轉換而阻止使用索引。請參閱使用半聯結轉換最佳化 IN 和 EXISTS 子查詢述詞

最佳化工具追蹤有時可以提供與 EXPLAIN 互補的資訊。但是,最佳化工具追蹤的格式和內容在不同版本之間可能會有所變更。詳細資訊請參閱 MySQL 內部:追蹤最佳化工具

如果您在您認為應該使用索引時遇到索引未被使用的問題,請執行 ANALYZE TABLE 來更新表格統計資料,例如可能影響最佳化工具所做選擇的索引鍵基數。請參閱 第 15.7.3.1 節,「ANALYZE TABLE 陳述式」

注意

EXPLAIN 也可以用於取得表格中欄位的相關資訊。EXPLAIN tbl_nameDESCRIBE tbl_nameSHOW COLUMNS FROM tbl_name 同義。如需更多資訊,請參閱 第 15.8.1 節,「DESCRIBE 陳述式」,以及 第 15.7.7.6 節,「SHOW COLUMNS 陳述式」