重置执行计划

时间:2011-12-13 19:46:54

标签: sql sql-server-2008 sql-execution-plan

我正在优化查询,并担心SQL Server正在缓存执行计划,所以想要擦除它们。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

你应该这样做:DBCC FREEPROCCACHE;

我也这样做DBCC DROPCLEANBUFFERS;

  

使用DBCC DROPCLEANBUFFERS使用冷缓冲区缓存测试查询   没有关闭并重新启动服务器。

     

要从缓冲池中删除干净的缓冲区,首先使用CHECKPOINT   生成一个冷缓冲区缓存。这会强制所有脏页面   要写入磁盘并清理缓冲区的当前数据库。后   你这样做,你可以发出DBCC DROPCLEANBUFFERS命令来删除所有   来自缓冲池的缓冲区。

答案 1 :(得分:1)

您需要使用DBCC FREEPROCCACHE

  

从计划缓存中删除所有元素,从中删除特定计划   通过指定计划句柄或SQL句柄来计划缓存,或删除   与指定资源池关联的所有缓存条目。