由SQL Profiler 找出 SQL Command 耗時語法
/*分析Trace 所得的資料*/
-- 原始資料在「工作負載檔案」,透過暫時資料表來分析
SELECT * into #TRCTemp
FROM ::fn_trace_gettable('c:\NewTrace.trc', default) --檔案路徑及名稱
-- 追蹤所得的資料本來就在資料表內,直接透過T-SQL 分析
SELECT SUBSTRING(TextData, 1,330) AS '名稱',
COUNT(*) '數量',
AVG(Duration) AS '平均執行時間(ms)',
AVG(CPU) AS '平均CPU 時間(ms)',
AVG(Reads) AS '平均閱讀次數',
AVG(Writes) AS '平均寫入次數'
FROM #TRCTemp
WHERE EventClass=12 -- 12 代表SQL:BatchCompleted 事件
GROUP BY SUBSTRING(TextData, 1,330)
ORDER BY SUM(Duration) DESC
--drop table #TRCTemp
-- 原始資料在「工作負載檔案」,透過暫時資料表來分析
SELECT * into #TRCTemp
FROM ::fn_trace_gettable('c:\NewTrace.trc', default) --檔案路徑及名稱
-- 追蹤所得的資料本來就在資料表內,直接透過T-SQL 分析
SELECT SUBSTRING(TextData, 1,330) AS '名稱',
COUNT(*) '數量',
AVG(Duration) AS '平均執行時間(ms)',
AVG(CPU) AS '平均CPU 時間(ms)',
AVG(Reads) AS '平均閱讀次數',
AVG(Writes) AS '平均寫入次數'
FROM #TRCTemp
WHERE EventClass=12 -- 12 代表SQL:BatchCompleted 事件
GROUP BY SUBSTRING(TextData, 1,330)
ORDER BY SUM(Duration) DESC
--drop table #TRCTemp
留言
張貼留言