效能優化 中階

資料庫查詢優化策略

AI 練習作答

請說明常見的資料庫查詢優化方法。

診斷工具

使用 EXPLAIN / EXPLAIN ANALYZE 分析查詢執行計畫,找出全表掃描(Seq Scan)和慢查詢。

索引優化

  • 為 WHERE、JOIN ON、ORDER BY 欄位建立索引。
  • 複合索引欄位順序按選擇性(Cardinality)高到低排列。
  • 避免過多索引(增加寫入成本)。

查詢改寫

  • 避免 SELECT *,只取需要的欄位。
  • 避免在 WHERE 中對欄位做函數轉換(會使索引失效)。
  • 使用 JOIN 代替子查詢(在大多數情況下更高效)。
  • 分頁使用 keyset pagination 代替 OFFSET(大 OFFSET 效能差)。

N+1 問題

ORM 使用 include/eager loading 預先載入關聯資料,避免每筆記錄觸發額外查詢。

連接池

使用資料庫連接池(PgBouncer、HikariCP),避免頻繁建立/銷毀連接。

✦ AI 模擬面試

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

登入後即可使用 AI 評分