我正在优化查询,并担心SQL Server正在缓存执行计划,所以想要擦除它们。
我该怎么做?
答案 0 :(得分:2)
你应该这样做:DBCC FREEPROCCACHE;
我也这样做DBCC DROPCLEANBUFFERS;
使用DBCC DROPCLEANBUFFERS使用冷缓冲区缓存测试查询 没有关闭并重新启动服务器。
要从缓冲池中删除干净的缓冲区,首先使用CHECKPOINT 生成一个冷缓冲区缓存。这会强制所有脏页面 要写入磁盘并清理缓冲区的当前数据库。后 你这样做,你可以发出DBCC DROPCLEANBUFFERS命令来删除所有 来自缓冲池的缓冲区。
答案 1 :(得分:1)
您需要使用DBCC FREEPROCCACHE
从计划缓存中删除所有元素,从中删除特定计划 通过指定计划句柄或SQL句柄来计划缓存,或删除 与指定资源池关联的所有缓存条目。