将 SQL Server 2012 中的参数化选项从“简单”更改为“强制”是否会清除缓存;或者应该在更改后运行 DBCC FREEPROCCACHE?
它会释放您更改选项的数据库的计划缓存,而不释放其他任何内容。
在我的服务器上,我运行这些查询:
USE StackOverflow;
SELECT TOP 1000 * FROM dbo.Users AS u WHERE u.Reputation = 2;
USE StackOverflow2010;
SELECT TOP 1000 * FROM dbo.Users AS u WHERE u.Reputation = 1;
Run Code Online (Sandbox Code Playgroud)
然后我使用sp_BlitzCache来查看我的计划缓存:
之后,更改一个数据库以使用强制参数化:
ALTER DATABASE StackOverflow SET PARAMETERIZATION FORCED
Run Code Online (Sandbox Code Playgroud)
再次运行sp_BlitzCache :
仅保留了 StackOverflow2010 的计划。
全面披露:我向开源 sp_BlitzCache 存储过程贡献了许多主要工作代码。
归档时间: |
|
查看次数: |
136 次 |
最近记录: |