資料庫設計
規則
- 預設正規化至 3NF — 僅在經由實際效能測量後才進行去正規化
- 索引策略:主鍵(自動建立)、外鍵、經常進行篩選或排序的欄位
- 遷移:納入版本控制、包含 up + down 操作、使用描述性命名
- 開發用的種子資料 — 使用真實的測試資料,而非
foo/bar - 使用者相關記錄使用軟刪除(
deletedAt)— 真正短暫的資料則使用硬刪除 - 公開 ID 使用 UUID — 內部關聯則使用自動遞增整數
- 使用連線池以支援 Serverless — PgBouncer、Prisma Accelerate 或 Supabase pooler
- 備份策略:每日自動備份,並測試還原流程
- 查詢最佳化:使用
EXPLAIN ANALYZE、避免使用SELECT *、指定特定欄位