SQL Server 效能優化的基石在於邏輯資料庫設計。標準化的窄表、合理的主外鍵、精準的索引策略,遠比事後調參數更具決定性。本文梳理核心影響因素與設計原則。
表過多、關聯過深會增加 JOIN 開銷,降低查詢效能。需在「標準化」與「查詢性能」間取得平衡。
AUTO_CREATE_STATISTICS/AUTO_UPDATE_STATISTICS,大表配合定時 UPDATE STATISTICS WITH FULLSCAN。SELECT *,只取所需列(減少 I/O、啟用覆蓋索引)。WHERE YEAR(dt)=2024 → WHERE dt >= '2024-01-01' AND dt < '2025-01-01')。IN/OR 易產生工作表導致掃描,改寫為 UNION ALL 或 EXISTS。OFFSET/FETCH(2012+)或 Keyset Pagination,避免 TOP N 深分頁掃描。Lock Pages in Memory,設定 Max Server Memory 留 4-8GB 給 OS。MAXDOP 設為 ≤ 8 且 ≤ 邏輯核數;Cost Threshold for Parallelism 提升至 50。「三分代碼,七分設計」。在邏輯建模階段識別高頻查詢模式、設計窄表與精準索引,配合參數化查詢與統計維護,才是 SQL Server 高效能的根本保障。