SQL 與資料轉換 中階

SQL 查詢優化:EXPLAIN 與執行計畫

AI 練習作答

請說明如何使用 EXPLAIN 優化 SQL 查詢。

EXPLAIN 基礎

EXPLAIN SELECT ... 顯示資料庫的查詢執行計畫,不實際執行查詢。EXPLAIN ANALYZE SELECT ... 實際執行並顯示實際耗時(PostgreSQL)。

關鍵指標

  • Seq Scan:全表掃描,大表上是警訊。
  • Index Scan:使用索引,通常較快。
  • Index Only Scan:覆蓋索引,最快。
  • Rows:預估返回行數,若遠偏離實際需執行 ANALYZE 更新統計。
  • Cost:相對成本單位,越小越好。

常見優化

  • 對 WHERE、JOIN ON 欄位建索引。
  • 避免 SELECT *,只取需要欄位。
  • 避免函數轉換索引欄位,改用範圍查詢。
  • 執行 ANALYZE table_name 更新統計資訊。

讀懂計畫樹

執行計畫為樹狀,從葉節點(資料讀取)往根節點(最終輸出)執行,縮排越深越先執行。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分