【问题标题】:Resetting Execution Plans重置执行计划
【发布时间】:2011-12-13 19:46:53
【问题描述】:

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

我该怎么做?

【问题讨论】:

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


    【解决方案1】:

    你应该这样做:DBCC FREEPROCCACHE;

    我也这样做DBCC DROPCLEANBUFFERS;

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

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

    【讨论】:

      【解决方案2】:

      你会想要使用DBCC FREEPROCCACHE

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 1970-01-01
        • 1970-01-01
        • 2012-05-21
        相关资源
        最近更新 更多