在SQL Server 2005管理工作室中,我正在测试一个使用一些表变量的查询,其中一个表变量具有集群唯一约束。我注意到当我包含实际执行计划来分析它时,总执行时间实际上下降了很多。
这是什么原因,我应该只测试包含执行计划的选项关闭时的总执行时间。
谢谢!
答案 0 :(得分:3)
对我来说听起来有点奇怪。你确定你看到的差异不是缓存吗? 我总是通过不包括执行计划来测试sproc的性能,并且我会在每次运行之前清除缓存,以便进行公平的比较(在测试/ dev db服务器上,而不是生产)。
DBCC FREEPROCCACHE -- will clear the execution plan cache
DBCC DROPCLEANBUFFERS -- will clear the data cache
答案 1 :(得分:0)