位置: 编程技术 - 正文

SQL Server Parameter Sniffing及其改进方法

编辑:rootadmin

推荐整理分享SQL Server Parameter Sniffing及其改进方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server 在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parameter sniffing问题。 create procedure Sniff1(@i int) as SELECT count(b.SalesOrderID),sum(p.weight) from [SaleSQL Server 在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parameter sniffing问题。

Parameter Sniffing问题发生不频繁,只会发生在数据分布不均匀或者代入参数值不均匀的情况下。现在,我们就来探讨下如何解决这类问题。

1. 使用Exec() 方式运行动态SQL

exec Nosniff1 ;

exec Nosniff1 ;

从上述trace中可以看到,在执行查询语句之前,都有SP: CacheInsert事件,SQL Server做了动态编译,根据变量的值,都正确的预估了结果集,给出了不同的执行计划。

SQL Server Parameter Sniffing及其改进方法

2. 使用本地变量

exec Nosniff2 ;

exec Nosniff2 ;

如上一篇文章所述,使用本地变量,参数值在存储过程语句执行过程中得到,SQL Server在运行时不知道变量的值,会根据一个预估值进行编译,给出一个折中的执行计划。

3. 使用Query Hint,指定执行计划

在 SELECT、DELETE、UPDATE 和 MERGE 语句最后加上OPTION ( [ ,...n ] ),对执行计划进行指导。当数据库管理员知道问题所在时,可以通过hint引导SQL Server生成一个对所有变量都不太差的执行计划。

以上所述是小编给大家介绍的SQL Server Parameter Sniffing及其改进方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

sqlserver实现树形结构递归查询(无限极分类)的方法 SQLServer开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式百度百科公用表表达式(CTE),是一个在查询中定义的临时命名结果集将在from

SQL Server Alwayson添加监听器失败的解决方法 一、错误描述1.群集服务未能使群集服务或应用程序Alwayson完全联机或脱机。一个或多个资源可能处于失败状态。这可能会影响群集服务或应用程序的

SqlServer将查询结果转换为XML和JSON 很久之前用到的,现在整理在这,里面一些代码来源于网上,不过有些bug已被我修改了。1.查询结果转XMLDECLARE@ParameterSQLNVARCHAR(MAX)='SELECT*FROMtable';DECLARE@SQ

标签: SQL Server Parameter Sniffing及其改进方法

本文链接地址:https://www.jiuchutong.com/biancheng/347063.html 转载请保留说明!

上一篇:用非动态SQL Server SQL语句来对动态查询进行执行(动态sql语句)

下一篇:sqlserver实现树形结构递归查询(无限极分类)的方法(sql树结构)

  • 不抵扣勾选怎么撤销
  • 债权人豁免债务的账务
  • 普通电子发票如何冲红
  • 固定资产折旧费是产品成本的组成
  • 国家对工资发放的规定
  • 申报表季初资产和季末资产
  • 企业所得税汇算清缴补缴税款分录
  • 餐饮 专票
  • 租赁房租备案要多久
  • 劳务派遣税收政策文件
  • 销售商品会计凭证
  • 房地产企业扣除项目
  • 服务业发票进项税怎么做凭证?
  • 领用自产产品用于在建工程入账金额
  • 递延收益摊销会计分录
  • 上年度少计提的税金及附加
  • 在windows7是一种
  • 苹果macmimi
  • 微信打开链接无法滑动
  • 如何冲回以前年度账户
  • 一般纳税人是什么发票
  • 预付款,尾款
  • 成本核算核算要素有哪些
  • 会计凭证传递的原则及基本程序
  • 上网的操作
  • windows 7怎么打开虚拟化
  • 如何重装系统win7旗舰版
  • .exe是啥
  • linux小技巧
  • linux系统网络日志
  • 销售固定资产税目
  • latex双栏图片
  • 企业为员工购买
  • php上传文件类型
  • ubuntu busier
  • php 截断
  • 没有发票以及收款怎么办
  • 员工办理健康证需要什么材料
  • 印花税调低
  • 外埠施工企业
  • mysql常见报错
  • 应交税费增值税销项税
  • 营业成本包含折旧和摊销吗
  • 差旅费包括哪些项目
  • 跨月报销的算当月还是上个月的
  • 进口业务关税的计算方法
  • 保险收入如何做账
  • 抵账的房子怎么办理房产证
  • 公司自己制造设备怎么办
  • 审计 调整分录
  • 未开票收入怎么做账
  • 收到保险公司的发票怎么做账
  • 公司的在建工程入账会计分录没有付款
  • 其他应付款是什么科目代码
  • 到期不付款跟客户怎么说
  • 银行汇票和银行本票区别图解
  • 固定资产专票可以不抵扣吗
  • 建账选用什么会计制度
  • sqlserver over
  • mysql中计算两个日期之间的天数
  • solaris route add
  • win7还是win8好用
  • win7系统连接wifi无法连接到internet
  • windows的气泡屏保会加速
  • scards32.exe - scards32是什么进程 有什么用
  • win10系统怎么回滚
  • linux网络设备有哪些
  • win7系统快速关机快捷键
  • js 编辑框
  • unity 插件开发
  • 了不起的女孩
  • css网站布局实录
  • Node.js中的construct
  • win10下python
  • jQuery实现ajax的叠加和停止(终止ajax请求)
  • 如何异地代缴社保
  • 安徽公务员流程各个阶段时间
  • 房屋出租到哪里挂出去
  • 北京纳税申报的具体流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设