查詢性能調優的本質是減少服務器資源消耗(CPU、I/O),而非單純縮短壁鐘時間。因服務器負載波動導致同一查詢耗時不穩,唯有度量資源佔用才能科學評估優化效果。
-- 清空緩衝區與計劃緩存(僅測試環境執行)
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
-- 開啟統計
SET STATISTICS IO ON
SET STATISTICS TIME ON
-- 執行目標查詢
SELECT * FROM [Order Details]
Table 'Order Details'. Scan count 1, logical reads 10, physical reads 0, read-ahead reads 0.
SQL Server Execution Times: CPU time = 15 ms, elapsed time = 12 ms.
Scan count:表掃描/索引查找次數logical reads:核心優化目標,越少越好CPU time:純計算開銷,對比不同寫法的優劣SET STATISTICS PROFILE ON 分析執行計劃細節這兩條被忽視的 T-SQL 命令,是 DBA 從「感覺調優」走向「數據驅動調優」的關鍵儀表盤。