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成本。