我想检查选项以改进我的查询。
有时,我想在生产服务器上进行测试,因此不能使用DBCC FREEPROCCACHE和DBCC DROPCLEANBUFFERS来清除整个服务器缓存。
你能和我分享一下只为我的连接/作用域做一种“缓存清理”的方法吗?
谢谢。
发布于 2012-09-12 19:26:26
DBCC FREEPROCCACHE (plan_handle | sql_handle | pool_name)
通过传递plan_handle或其他选项,我们将能够清除特定sp或查询的缓存。
发布于 2012-05-24 01:25:07
缓冲区不保存在特定于用户的表中,也不存储在每个用户中- SQL Server无法有选择地清除它,因为它不知道哪些查询保存了哪些项;这样做几乎在所有情况下都会产生不必要的开销(除了您现在尝试做的事情)。对不起。)尽管如此,还是有选择的。
然而,有一些建议可以改善这个问题,即使这个问题无法避免:
对于在这种情况下进行测试,This article还有其他想法。
发布于 2012-05-24 04:33:00
如果停机时间正常,您可以使数据库离线,然后立即将其联机。
https://stackoverflow.com/questions/10722339
复制相似问题