效能優化 中階
資料庫查詢優化策略
請說明常見的資料庫查詢優化方法。
診斷工具
使用 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 評分
