位置: 编程技术 - 正文

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

  • 纳税检查调整的销售额确认收入吗
  • 印花税计提怎么计提
  • 2023增值税最新税率
  • 积分换物品是真的吗
  • 待报解预算收入计入什么科目
  • 什么是未投入使用的固定资产
  • 本年利润是净利润还是利润总额
  • 固定资产清理的金额怎么算
  • 系统技术维护费计入什么科目
  • 冲减预付账款怎么记账
  • 公司账户转个人账户限额
  • 税务申报零申报怎么操作
  • 财税[2012]15
  • 公允价值变动损益属于损益类的
  • 交到公户上的钱,还没到账可以退回吗?
  • 以前年度少计收入怎么办
  • 装修费可以作为开办费吗
  • 当月凭证做完怎么结转?
  • 金蝶迷你版不能期末结账怎么办
  • 房产税存在往期未申报信息怎么处理
  • 职工福利费的构成
  • 一般纳税人存货入账价值
  • 商场充值卡发票在哪开
  • php语言之mysql操作
  • 个人补缴的养老全部划入个人账户
  • 2022年开始,手握大量现金的人
  • 工程复工程序是什么
  • 计提坏账准备的方法
  • python程序怎么看
  • php splqueue
  • 冰上的卷羽鹈鹕,希腊凯尔基尼湖 (© Guy Edwardes/Minden Pictures)
  • 购买支票费用计入
  • chrome浏览器快捷方式
  • 静态html怎么部署到服务器
  • 自然人税收管理系统
  • 没有发票的支出可以扣除企业所得税么
  • 营业税金及附加税率
  • 搅拌机属于哪类税收
  • 开票一定要确认发票吗
  • 暂估价与发票价的区别
  • 其他应付款贷方表示什么意思
  • 汇兑损益可能被确认为
  • 生产企业出口退税申报流程操作
  • 挂靠设计公司费用标准如何记账?
  • 应付票据是
  • 委外加工半成品入库的会计分录
  • 退回投标保证金在投诉阶段怎么办
  • 置换房产怎么交税
  • 公司向个人借款的会计分录怎么做
  • 以旧换新会计科目
  • 加计抵减期末有余额怎么办
  • 基本户打款个人怎么办
  • 固定资产错记到费用了怎么办
  • 旅行社代订机票发票报销
  • 盈余公积现金流量表中应填入哪里呢
  • 开票方与付款方不一致问题
  • 水费发票上的册子是什么
  • 事业单位开的发票
  • 公对公转账多久能到账
  • sqlserver数据库优化的几种方式
  • mysql8.0二进制安装
  • win7系统如何隐藏桌面
  • win7系统的笔记本电脑有哪些
  • windowsxp2
  • centos 安装方法
  • centos安装nf_conntrack
  • windows系统后台不显示QQ等软件(任务栏右侧不显示QQ图标)
  • windows7可以打开多个窗口
  • centos6.6
  • linuxwho
  • cocos2dx onpause崩
  • 数据库的基本操作实验报告
  • 在javascript中如何定义并调用函数
  • js 函数写法
  • javascript怎么学
  • javascript随机生成数字
  • python数学题
  • 杭州市国税稽查三科科长
  • 广西电子税务局登陆入口
  • 浙江省增值税专用发票票样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设