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

MySQL 21 條效能優化最佳實踐(二):EXPLAIN 你的 SELECT 查詢

     編輯:MySQL 綜合教學

為什麼要 EXPLAIN

EXPLAIN 是窺探優化器大腦的唯一窗口:揭示存取類型、可能索引、實際使用索引、掃描行數、是否使用臨時表/檔案排序等關鍵資訊。

實戰案例:忘記群組索引的慘痛教訓

EXPLAIN 未加索引

  • 未加 group_id 索引:type=ALL,掃描 **7883 行**,Using temporary; Using filesort。

EXPLAIN 加索引後

  • 加上 group_id 索引:type=ref,掃描 **9 行 + 16 行**,無臨時表無排序。

關鍵欄位解讀

欄位關注重點
typesystem > const > eq_ref > ref > range > index > ALL(越左越好)
possible_keys理論可用索引
key實際使用索引(NULL 表示全表掃描)
key_len索引長度,推斷聯合索引用了幾欄
rows預估掃描行數,**核心效能指標**
ExtraUsing index(覆蓋索引)、Using temporary、Using filesort、Using where

操作建議

  1. 挑選最複雜、多表 JOIN、慢查詢 TOP 10 的 SQL。
  2. 在 phpMyAdmin / DataGrip / DBeaver 執行 EXPLAIN。
  3. 重點優化 type=ALL、rows > 10000、Extra 含 temporary/filesort 的語句。
  4. 優化後再次 EXPLAIN 驗證 rows 量級下降。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved