我正在使用Sql Server Management studio,我正在使用select语句运行查询。
在查询的开头和结尾,我有select getdate()
如果我使用'Results To Grid'而不是'Results To Text'运行查询,我会在这些时间之间得到非常不同的时间(我已经多次运行以消除缓存中断)。
这些时间显然是在SQL服务器本身生成的(因为它们是查询的一部分)而不是Management Studio,因为结果输出会影响查询执行的时间吗?
答案 0 :(得分:1)
如果是多部分查询,例如:
--Get the start time
SELECT getdate();
SELECT * FROM foo;
--Get the end time
SELECT getdate();
我的假设是差异在于SSMS在发出查询的下一部分之前呈现每个部分的结果(或者更有可能,在推进到该结果集之前因此导致SQL Server评估最后一个语句) 。渲染到网格可能比写出纯文本花费更多的时间,所以时间可能不同。
如果客户端呈现模式真正影响第一个和最后一个GetDate()之间的时间,那真的是唯一的解释。
如果您想要真正的服务器端,单个语句计时,您可能希望使用SQL Server Profiler来计算查询本身的执行时间。