SQL Server 2008 性能调优 optimize for ad hoc

系统 1690 0

参数化和即席查询,都是一个二难的选择。

一旦选择参数化 就有可能带来 一种情况就是 执行计划反复被利用。

不会通过收集现有的统计信息,出一个比较优异的执行计划。

即席查询也就是 ad hoc query,每次都需要重编译,花费比较大。

这个是一个2难,需要平衡。对于这个问题 sql server 有 简单参数化,强制参数化和2008 才有的optimize for ad hoc workloads。

optimize for ad hoc workloads 的原理大概如此:

当你第一次执行 ad hoc 查询的时候,被编译出来的执行计划,sql server 存个一部分。
为什么不全存呢,如果全存,adhoc 查询很频繁,那么不就给 内存带来压力了。 

当你第二次查询的时候,就保存这个执行计划。

当你第三次运行的时候,就可以直接从cache 内读取出来执行计划。

      
        EXEC
      
       sp_configure 
      
        '
      
      
        show advanced options
      
      
        '
      
      ,
      
        1
      
      
RECONFIGURE
EXEC sp_configure ' optimize for ad hoc workloads ' , 1
RECONFIGURE

对sql server 运行还是又好处的,没事儿就开着吧

SQL Server 2008 性能调优 optimize for ad hoc workloads


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论