2012-03-19 22 views
0

我正在使用Sql Server Management Studio,並且正在使用select語句運行查詢。SSMS中結果格式之間的性能差異

在查詢我有一個select getdate()

如果我運行「結果網格」,而不是查詢「結果到文本」的開頭和結尾,我得到它們之間不同的時間,以時間(I」多次運行以消除緩存中斷)。

由於結果輸出會影響查詢執行所花費的時間,因此顯然會在SQL Server本身生成這些時間(因爲它們是查詢的一部分),而不是Management Studio。

回答

1

如果是多部分的查詢,如:

--Get the start time 
SELECT getdate(); 

SELECT * FROM foo; 

--Get the end time 
SELECT getdate(); 

我的假設將是不同的是,SSMS是發出查詢的下一部分之前呈現每個部分的結果(或更多很可能,在推進到結果集之前,因此導致SQL Server評估最後一條語句)。渲染到網格可能比寫出純文本需要更多的時間,所以時間可能會有所不同。

如果客戶端渲染模式真正影響第一個和最後一個GetDate()之間的時間,那纔是真正的唯一解釋。

如果您想要真正的服務器端單語句計時,您可能需要考慮使用SQL Server Profiler來定時執行查詢本身。

+0

謝謝,那就是我想來的結論......怪異! – Liath 2012-03-19 15:31:31

相關問題