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语句会清空计划缓存,但如你所见,这并不是真正的事实。有时候你要反复验证下你的假设,因为它们并不都是对的。

感谢关注!

posted @ 2016-07-26 15:37  Woodytu  阅读(474)  评论(0编辑  收藏  举报