SQL - 清除执行缓存

时间:2011-04-19 22:34:31

标签: sql-server sql-server-2008

我正在尝试分析一些查询但是如您所知,当您第二次运行查询时,它会在0毫秒内返回。我正在使用

DBCC FREEPROCCACHE

但这似乎没有办法。我还能运行什么来清除任何执行/结果缓存的痕迹?

2 个答案:

答案 0 :(得分:4)

CHECKPOINT;
DBCC dropcleanbuffers;

但这不应该在生产服务器上运行。 CHECKPOINT是一个数据库作用域命令,它将脏缓冲区写入光盘,因此它们将受到下一个命令的影响,但DBCC dropcleanbuffers是全局的,并且以这种方式从缓冲区缓存中删除的所有数据页都需要下次使用时,请从光盘读入。

答案 1 :(得分:3)

您还需要使用DBCC DROPCLEANBUFFERS。这将使用冷缓冲区缓存测试查询。

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
相关问题