位置: 编程技术 - 正文

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

  • 金税三期是什么时候投入使用的
  • 网银制单了没有审核有影响吗
  • 应付职工薪酬为什么不属于金融负债
  • 怎么处理未抵扣增值税形成的留抵税额?
  • 外经证预缴税款之后剩下的税款交到哪呢
  • 建筑行业机械租赁费计入什么科目
  • 购买材料自用不退款
  • 年末有留抵税额怎么做税费对冲
  • 购买商品用于抵债的会计分录要怎么做?
  • 营改增的优惠政策
  • 审计费用需要计什么科目
  • 城建税税收减免政策
  • 买二手车年限久的会怎样
  • 职工福利费要交个税吗
  • 废旧物品回收是做什么的
  • 京挑客怎么赚钱
  • 固定资产内部转移单
  • 外地项目的预交税款没交怎么办
  • 抄报税失败是怎么回事
  • 个人以非货币性资产投资个人所得税
  • 化妆品的消费税率多少
  • 1697510110
  • 电子银行汇票 票据承兑
  • 用工会经费给员工发工资
  • 租赁合同法律风险
  • 汇算清缴申报表怎么填
  • 购买一台电脑会计分录
  • 私立医院交所得税吗
  • remind32.exe - remind32是什么进程 有什么用
  • php parse_url
  • 购入研发设备
  • php preg_grep
  • 后端接口返回数据类型规范
  • 如何计算企业年度人均产值
  • 从国际空间站看木星
  • 控制器code是什么意思
  • php如何实现
  • PHP:imagecolorsforindex()的用法_GD库图像处理函数
  • 工会经费计提基数包括绩效工资吗
  • 可行性研究合同印花税
  • 员工出差的费用计入什么科目
  • 增值税专票和普票的区别图片
  • mysql存储过程 游标
  • 子公司再设立子公司
  • 跨年认证原材料是什么
  • 现金流量表里支付的各项税费包括什么
  • 分配利润时会计分录
  • 公司租赁职工车辆账务处理
  • 商业承兑汇票风险高吗
  • 盘亏盘盈的会计处理
  • 疫情防控重点保障物资免征增值税
  • 免费品尝活动广告语
  • 公司支付的培训费需要交税吗
  • 汇算清缴主要检查什么
  • 银行承兑汇票收款业务流程
  • 应交增值税怎么求
  • 食堂没发票如何记账
  • 什么是增资扩股协议
  • 委托加工企业的账务处理
  • winpe如何使用
  • windows server 2016 百度网盘下载
  • wmiprvse.exe是什么程序
  • win8系统打不开exe
  • fsmb32.exe是什么进程 作用是什么 fsmb32进程查询
  • win7系统无法开机解决方法
  • Linux怎么添加用户
  • node. js教程
  • unity 更新
  • unity3d操作
  • jQuery Mobile弹出框
  • android sdkmanager
  • javascript教程完整版
  • python3 冒泡排序
  • jq中attr用法
  • 可以抵扣的消费税项目
  • 广东电子税务局官网登录入口
  • 税务登记注销证明是什么样的
  • 包头市到青山区多少公里
  • 掌上12333怎么交社保卡费用
  • 运输类增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设