首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL EXPLAIN 查詢執行計劃解讀實戰指南

     編輯:MySQL 綜合教學

基本用法

EXPLAIN SELECT id, username FROM userinfo WHERE username LIKE '%peng%';

輸出欄位詳解

欄位含義關鍵值範例
idSELECT 識別序號1
select_type查詢類型SIMPLE, PRIMARY, SUBQUERY, DERIVED, UNION
table存取的表userinfo
type存取策略 (由好到壞)system > const > eq_ref > ref > range > index > ALL
possible_keys可能用到的索引idx_username
key實際用到的索引idx_username
key_len索引鍵長度 (位元組)768
ref與 key 配合的列/常數const
rows預估掃描行數6
Extra額外資訊Using where, Using index, Using filesort, Using temporary

實戰判讀口訣

  • type=ALL → 全表掃描,需加索引。
  • Extra=Using filesort → 需排序,嘗試覆蓋索引或調整 ORDER BY。
  • Extra=Using temporary → 產生臨時表,優化 GROUP BY/DISTINCT。
  • key=NULL → 未用索引,檢查 WHERE 條件與索引定義。
  • rows 巨大 → 預估掃描行多,索引選擇性差或統計過舊 (ANALYZE TABLE)。

進階

  • EXPLAIN FORMAT=JSON (5.6+):輸出結構化 JSON,含成本估算。
  • EXPLAIN ANALYZE (8.0.18+):實際執行並回報實際耗時、行數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved