我有两个sql查询。第二种是第一种的改进型,它们之间的差别很小。
我想知道两个sql的执行时间,所以我给出了如下
--查询1
set statistics time on
Select...
.........
set statistics time off
--Result
(2 row(s) affected)
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 39 ms.
--查询2
set statistics time on
Select...
.........
set statistics time off
--Result
(2 row(s) affected)
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
对于第二个查询,经过的时间是0 ms,应该是在第一个sql执行时间前后的某个位置。它给出了0毫秒,仅仅因为我在查询2之前执行了查询1。我如何查看第二个查询所用的时间,我应该删除统计数据还是任何东西?
发布于 2014-08-19 03:20:14
last_execution_time
列在sys.dm_exec_query_stats
中将包含这些信息。此外,还可以将其捕获为SQL中SQL:StmtCompleted
事件的SQL:StmtCompleted
列。
尽管如此,有更多的方法来比较查询,而不仅仅是时间。逻辑读取,IO和等待状态出现在脑海中。我建议您阅读如何分析SQL Server的性能了解如何度量、度量和比较查询的详细信息。
https://stackoverflow.com/questions/25381906
复制相似问题