RECONFIGURE语句会清空计划缓存么?
几个星期前,有个网友问我一个非常有趣的问题:RECONFIGURE语句会清空计划缓存么?通常我对这个问题的答案是简单的是,但慢慢的我找出了真正的答案是“看情况啦”。我们来看下它,为什么“它看情况”。
看情况而论……
通常你会期望RECONFIGURE语句会清空执行计划,但遗憾的是这不是真相。执行计划只有当你修改特定的配置项时……才会清空,并不是每个配置项修改。
我在网上查找了下,最后找到一篇介绍哪些配置选项会触发执行计划清空的文章:
- Cross DB Ownership Chaining
- Index Create Memory
- Cost Threshold for Parallelism
- Max Text Repl Size
- Min Memory per Query
- Min Server Memory
- Max Server Memory
- Query Governor Cost Limit
- Query Wait
- Remote Query Timeout
- User Options
因此RECONFIGURE语句会清空执行计划只是个神话!
小结
不要想当然的假设SQL Server的运行!刚开始我也以为RECONFIGURE语句会清空计划缓存,但如你所见,这并不是真正的事实。有时候你要反复验证下你的假设,因为它们并不都是对的。
感谢关注!
注:此文章为WoodyTu学习MS SQL技术,收集整理相关文档撰写,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,有了您的支持才能激发作者更大的写作热情,非常感谢!