Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 SQL Server 2005如何清除查询执行计划_Sql Server 2005 - Fatal编程技术网

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

Sql server 2005 SQL Server 2005如何清除查询执行计划,sql-server-2005,Sql Server 2005,各位程序员好。我有一个SQL Server 2005查询,第一次处理它需要很长时间。第一次运行后,查询的运行速度要快得多。从一分钟到一秒钟 我知道SQL Server正在缓存一个执行计划(这是正确的术语吗?)。我想做的是理清这个执行计划,以便更好地复制问题。我正在尝试调整查询 有人知道这是否可能以及如何做到吗 提前感谢DBCC FREEPROCCACHE如果要清除它,请执行以下操作: DBCC FreeProcCache DBCC DropCleanbuffers 如果只想每次强制重新编译查询

各位程序员好。我有一个SQL Server 2005查询,第一次处理它需要很长时间。第一次运行后,查询的运行速度要快得多。从一分钟到一秒钟

我知道SQL Server正在缓存一个执行计划(这是正确的术语吗?)。我想做的是理清这个执行计划,以便更好地复制问题。我正在尝试调整查询

有人知道这是否可能以及如何做到吗


提前感谢

DBCC FREEPROCCACHE

如果要清除它,请执行以下操作:

DBCC FreeProcCache
DBCC DropCleanbuffers
如果只想每次强制重新编译查询,请在查询末尾添加查询提示:

OPTION (RECOMPILE)

这就是我想要清除它们时所运行的

DBCC freeproccache
DBCC dropcleanbuffers
go

如果我在测试一个查询的性能,我通常会把它粘贴到查询的顶部,这样每次它运行时都会有一个清晰的缓存

请注意:有时查询在第二次运行时运行得更快,因为服务器已经完成了磁盘IO,并且RAM中仍然有表。考虑一下执行计划中的IO成本。< /P>