当包含执行计划时,SSMS 中的 SQL Server 查询速度更快

标签 sql sql-server performance testing sql-execution-plan

在 SQL Server 2005 管理工作室中,我正在测试一个使用一些表变量的查询,其中一个表变量具有集群唯一约束。我注意到,当我包含实际执行计划来分析时,总执行时间实际上会减少很多。

原因是什么?我是否应该仅在包含执行计划的选项关闭时测试总执行时间。

谢谢!

最佳答案

说实话,我听起来有点奇怪。您确定您所看到的差异不是由缓存造成的吗? 我总是通过不包括执行计划来测试存储过程的性能,并且我会在每次运行之前清除缓存,以便进行公平的比较(在测试/开发数据库服务器上,而不是生产上)。

DBCC FREEPROCCACHE -- will clear the execution plan cache
DBCC DROPCLEANBUFFERS -- will clear the data cache

关于当包含执行计划时,SSMS 中的 SQL Server 查询速度更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996751/

相关文章:

sql-server - SQL Server : How to use UNION with two queries that BOTH have a WHERE clause?

performance - 如何实现线程化评论?

performance - Java 11 中使用堆栈跟踪的速度明显慢于 Java 8

java - 结果集来自更新。没有数据

C#:通过ODBC读取数据算术溢出

mysql - 在另一个 Select 中选择 Case

php - 选择 count() 等于特定值的所有用户

sql - 用户表在 tempdb 中?

php - 数据库插入或更新后向 Android 应用程序发送推送通知

c# - 托管代码能否像非托管代码一样快速地执行计算?