SSMS中结果格式之间的性能差异

时间:2012-03-19 15:10:23

标签: sql-server performance ssms execution-time

我正在使用Sql Server Management studio,我正在使用select语句运行查询。

在查询的开头和结尾,我有select getdate()

如果我使用'Results To Grid'而不是'Results To Text'运行查询,我会在这些时间之间得到非常不同的时间(我已经多次运行以消除缓存中断)。

这些时间显然是在SQL服务器本身生成的(因为它们是查询的一部分)而不是Management Studio,因为结果输出会影响查询执行的时间吗?

1 个答案:

答案 0 :(得分:1)

如果是多部分查询,例如:

--Get the start time
SELECT getdate();

SELECT * FROM foo;

--Get the end time
SELECT getdate();

我的假设是差异在于SSMS在发出查询的下一部分之前呈现每个部分的结果(或者更有可能,在推进到该结果集之前因此导致SQL Server评估最后一个语句) 。渲染到网格可能比写出纯文本花费更多的时间,所以时间可能不同。

如果客户端呈现模式真正影响第一个和最后一个GetDate()之间的时间,那真的是唯一的解释。

如果您想要真正的服务器端,单个语句计时,您可能希望使用SQL Server Profiler来计算查询本身的执行时间。