SQL Server 2005你如何清除查询执行计划

问题描述:

你好同事程序员。我有一个SQL Server 2005查询需要很长时间来处理第一次。第一次运行后,查询运行得更快。它从一分钟到一秒。我知道SQL Server正在缓存执行计划(这是正确的术语吗?)。我想要做的就是清理这个执行计划,以便我可以更好地复制这个问题。我试图调整查询。SQL Server 2005你如何清除查询执行计划

有谁知道这是否可能以及如何去做?

由于提前

如果你想清除它,那么:

DBCC FreeProcCache 
DBCC DropCleanbuffers 

如果你只是想每次强制查询重新编译,然后添加一个查询提示查询结束:

OPTION (RECOMPILE) 

DBCC FREEPROCCACHE

这是我运行的时候,当我想清除[R他们

DBCC freeproccache 
DBCC dropcleanbuffers 
go 

如果我是性能测试查询我通常只是粘贴在查询的顶部,这样每次运行它具有明显的缓存运行。

被警告:有时候查询会第二次更快地运行,因为服务器已经完成了磁盘IO并且仍然在RAM中有表。考虑在执行计划中查看IO成本。