位置: 编程技术 - 正文

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

  • 一般纳税人增值税申报操作流程
  • 什么是增值税扣缴义务
  • 税务师的含金量怎么样
  • 车辆报废做账务处理依据的法规是
  • 记账凭证附单据是有哪些
  • 用票据付款怎么做账
  • 预缴增值税的附加税
  • 房地产公司转让土地
  • 机动车销售统一专票有几联
  • 工程管理费如何使用
  • 事业单位现金收支管理办法
  • 企业发生的间接生产费用应
  • 利息股息红利所得个人所得税怎么算
  • 小规模不动产租赁税率是否减按1%
  • 税控盘的购买流程
  • 在固定资产中
  • 国外客户要求退货
  • 税控服务系统
  • 财务会计怎么学好
  • 批发零售的成本核算
  • 净资产属于政府预算会计要素吗
  • 公司处置车辆税金怎么算
  • Win11文件资源管理器将更新
  • ptssvc.exe - ptssvc是什么进程 有什么用
  • 关闭bios启动
  • 微信小程序实现发红包
  • 试乘试驾车入账分录
  • 建筑业预缴企业所得税表项目金额填合同金额吗
  • 财务费用利息收入怎么结转
  • 应收罚款收入
  • 用银行存款支付本季度短期借款利息
  • 委托代销视同买断会计分录怎么写?
  • 科技三项费用拨款共计5000万元
  • 金融业贷款损失多少
  • PHP:imagecolorclosesthwb()的用法_GD库图像处理函数
  • 企业的留存收益可以抵税吗
  • 待安置期间生活补助费多少钱
  • 合作社分红怎么计算
  • php获取路径和目录的方法
  • 企业和银行未达账项
  • 出口货物不退税进项可以开具普通发票吗
  • 大型语言模型的教育应用
  • thinkphp自动加载类
  • php判断时间区间
  • 拨出专款年末结转
  • python获取值对应的键
  • 政府无偿划转股权 要做可行性研究
  • css怎么制作
  • 或有对价的确认条件
  • 低值易耗品如何界定
  • 社保是当月计提当月交吗
  • 企业合并发生的审计费用,评估费用
  • 其他应收款主要是什么
  • 小规模没收入怎么报税
  • 去税务局流程
  • 购进原材料发生的保险费
  • 出口退税申报系统自检数据撤销
  • 多交增值税可以不退吗
  • 股东每月分红合理吗?
  • 票折费用是什么意思
  • 材料采购成本包括买价和采购费用
  • 仓管需要会计证吗
  • 主营业务利润率反映了企业的什么能力
  • 环境会计的构建方法
  • mysql的子查询语句
  • mysql修改允许远程连接
  • win7系统打开软件慢的原因
  • linux lv vg
  • ubuntu搭建android开发环境
  • js处理跨域方式及原理
  • Android - Designtime Layout Attributes & Tools Attributes
  • 批处理删除自身命令
  • python爬虫工作内容
  • javascript基础
  • bootstrap和thymeleaf
  • 安卓手机管家删除的照片怎么恢复
  • 一般纳税人开具的增值税普通发票和专用发票的区别
  • 地税局网站查询发票
  • 江苏地税局官网网站
  • 税务稽查团队
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设