2013-07-09 59 views
1

比方說,我有如下語句:插入SET STATISTICS TIME到表

SET STATISTICS TIME ON; 
Select * from myTable 
SET STATISTICS TIME OFF; 

將會產生在消息選項卡下面的結果在SSMS:

SQL Server Execution Times: 
    CPU time = 0 ms, elapsed time = 1 ms. 

我如何讀取經過時間值轉換爲表/臨時表/表變量?

我想這樣做的原因是因爲我正在用不同參數的循環測試查詢。爲了更容易讀取經過時間的結果,我想將它們插入到表中,然後比較多個表的多個版本的腳本。

+0

爲什麼不只是使用[SQL Sentry Plan Explorer](http://sqlsentry.net/plan-explorer/)執行查詢的不同變體?除了最初的設計(提供更有意義的執行計劃)外,它還爲每個語句提供了各種運行時度量標準,包括I/O和持續時間。 –

回答

1

你可以自己計算它讀取經過時間:

declare @StartTime datetime = getdate(); 
Select * from myTable; 
declare @Dur datetime = getdate() - @StartTime; 

然後,您可以道瓊斯你想要什麼@Dur

如需更詳細的時間安排,我會遵循亞倫的建議。

+0

如果我運行100個查詢,並且需要將每個查詢的結果插入到表中。 –