位置: 编程技术 - 正文

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树结构)

  • 所得税分录是怎么计算的
  • 商贸企业出口进项税会计分录汇总
  • 什么原始凭证可以填写
  • 免税农产品发票怎么做账
  • 职工意外伤害险赔偿范围
  • 税后平均投资利息怎么算
  • 汇票委托书会计分录
  • 发票税率开错了按什么申报
  • 处置车辆收入缴税规定
  • 财务软件怎样结转销售成本
  • 计提坏账的递延税收
  • 长期待摊费用计提摊销的会计分录
  • 总分公司、母子公司:三流不一致情况下,如何抵扣增值税?
  • 增值税加计抵减账务处理
  • 增值税发票有哪些类型
  • 金融机构可以采取什么措施
  • 小规模纳税人申报表怎么填
  • 资金使用计划表怎么写
  • msiexec.exe是什么进程介绍
  • 捐赠口罩的人
  • Win7系统中如何快速查询文件内容
  • 现金流量表中收入是含税收入还是不含税
  • 公司注册资金存在风险吗
  • PHP:apache_child_terminate()的用法_Apache函数
  • 成品油消费税怎么抵扣
  • 发票是自己买的吗
  • slee401.exe - slee401是什么进程 有什么用
  • win7纯净版本
  • thinkphp5自定义标签
  • 直接计入所有者权益的交易或事项
  • 三方债权债务抵消如何开发票
  • 委托加工物资如何转入生产成本
  • 营改增开始时间
  • 自然公园在哪
  • 因为技术原因
  • 待抵扣进项税的限额是什么
  • BEV(Bird’s-eye-view)三部曲之二:方法详解
  • 败诉方承担诉讼费缴直接付给法院还是胜诉方
  • vue里的for循环
  • 帝国cms添加栏目前台不显示
  • 税务自查报告范文自查报告怎么写
  • 合同发票收款付款管理系统源码
  • 采购国产设备退税公告
  • 主营业务成本如何记账
  • 单位为职工订做活动通知
  • 金税盘v2.0.41怎么扫码开票
  • 工程主营业务收入
  • wordpress文章发布不显示作者
  • python的series
  • 发票可以开未来日期吗
  • 认证一般纳税人之后,之前开的发票作废重新填开的税率
  • 金税开票系统
  • 专利银行汇款操作步骤
  • 股权转让需要开票吗怎么开
  • 直接人工费用属于产品成本吗
  • mysql 大量数据
  • 春节补贴是正数还是负数
  • 企业所得税是哪种
  • 生产成本核算的步骤
  • 小规模纳税人退税账务处理
  • 应收账款的账期是什么意思
  • 员工报销的话费要缴纳个税吗?
  • 企业比赛奖金要交税吗
  • 汽车生产企业三大战略
  • 过路费计入差旅费还是车辆
  • 分公司做账报税
  • sqlserver字符串切割
  • 苹果手机价格
  • bios怎么更改硬盘格式
  • rsyslog 8.11.0 (v8-stable) 发布
  • 启用5g后流量有什么影响
  • mac电脑 删除废纸篓里的指定文件
  • linux小技巧
  • 845主板支持1t硬盘吗
  • css常用布局方式
  • 如何自定义手机图标
  • angular 创建项目
  • JavaScript中的数据类型
  • jquery设置iframe的src
  • 税务稽查会打电话吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设