WHERE id=1, WHERE id=2),無法自動歸類統計命令行工具,核心能力:語句標準化 → 導入數據庫 → 生成統計報表 / RML 回放文件。
-- 原始語句
SELECT * FROM authors WHERE au_lname = 'white'
SELECT * FROM authors WHERE au_lname = 'green'
SELECT * FROM authors WHERE au_lname = 'carson'
-- 標準化後
SELECT * FROM authors WHERE au_lname = {str}
SELECT * FROM authors WHERE au_lname = {str}
SELECT * FROM authors WHERE au_lname = {str}
將字面值替換為類型佔位符 ({str}, {num} 等),實現邏輯等價語句自動聚合。
Read80Trace -f -d MyAnalysisDB -I MyTrace.trc
-f 不生成 RML (僅分析)
-d 目標數據庫 (自動建表導入)
-I 輸入 Trace 文件 (支援多文件自動遞歸 *.trc, *.trc1... 支援 zip/cab 直讀)
GB 級文件 < 1h 完成 (512MB 內存舊機測試),性能極佳。
Read80Trace 生成核心表:NormalizedSQL (標準化語句)、Events (執行事件)。編寫存儲過程聚合統計:
-- 核心指標
SELECT
NormalizedText,
COUNT(*) AS ExecCount,
SUM(Duration) / 1000.0 AS TotalDuration_ms,
AVG(Duration) / 1000.0 AS AvgDuration_ms,
SUM(Reads) AS TotalReads,
SUM(Writes) AS TotalWrites,
SUM(CPU) AS TotalCPU_ms
FROM Read80Trace.dbo.Events e
JOIN Read80Trace.dbo.NormalizedSQL n ON e.NormalizedSQLID = n.NormalizedSQLID
GROUP BY NormalizedText
ORDER BY TotalDuration_ms DESC -- 或 TotalReads, ExecCount
RPC:Completed + SQL:BatchCompleted (含 Duration/Reads/Writes/CPU)SQL Server 2008+ 推薦:擴展事件 + 查詢存儲。零侵入、環狀緩存、內建報表、計劃回歸自動檢測。Read80Trace 仍適用於 2000/2005 遺留系統或離線深度分析場景。