SQL Server 性能優化的核心在於三大支柱:邏輯數據庫與表設計、索引設計、統計信息管理。三者環環相扣,共同決定系統吞吐量上限。
優秀的邏輯設計採用多個窄表替寬表,透過主外鍵建立關聯。優勢顯著:
但過度標準化會增加 JOIN 複雜度,需在規範化與性能間平衡。主外鍵定義時,連接列的數據類型必須完全一致,否則導致隱式轉換與索引失效。
優化器重點關注 WHERE 子句中的列,每個出現的列都是潛在索引候選。為達最優性能:
實戰案例:WHERE au_lname = 'White' 時,(au_lname) 或 (au_lname, au_fname) 有效,而 (au_fname, au_lname) 則無效。
通過 SELECT COUNT(DISTINCT column) FROM table 獲取唯一值數量,對比總行數計算選擇性:
重疊索引、共享列上的冗余索引均應避免,每個 DML 操作都會因索引維護而付出代價。