SQL 與資料轉換 中階
SQL 查詢優化:EXPLAIN 與執行計畫
請說明如何使用 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 評分
