得到真实的" SQL Server查询的执行时间?

时间:2014-03-11 13:39:39

标签: sql-server

我有两个存储过程,第二个存储过程是对第一个存储过程的改进。

我试图准确衡量这种改善的程度。

1 /测量clock time似乎不是一个选项,因为我得到了不同的执行时间。更糟糕的是,有时(很少,但它会发生)第二个存储过程的执行时间大于第一个过程的执行时间(我猜是由于当时的服务器工作负载)。

2 / Include client statistics也会提供不同的结果。

3 / DBCC DROPCLEANBUFFERSDBCC FREEPROCCACHE很好,但同样的故事......

4 / SET STATISTICS IO ON可能是一个选项,但是如果我的存储过程涉及很多表格,我怎样才能得到总分?

5 / Include actual execution plan也可以是一个选项。第一个存储过程得到estimated subtreecost 0.3253,第二个存储过程得到0.3079。我可以说第二个存储过程快6%(= 0.3253 / 0.3079)吗?

6 /使用"读取" SQL Server Profiler中的字段?即使在这种情况下,当我多次执行这些存储过程时,我得到的结果也不同。

那么我怎么能说第二个存储过程比第一个过程快x%,无论执行条件如何(服务器的工作负载,执行这些存储过程的服务器等)。

如果不可能,我怎样才能证明第二个存储过程更加优化。

0 个答案:

没有答案