位置: 编程技术 - 正文

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

  • 个人所得税财产租赁所得税率表
  • 产权转移数据的交易价格和固定资产科目
  • 基本户可以直接转账给个人吗
  • 社保基数在哪里调整
  • 有限合伙企业应当
  • 个独企业缴纳个人经营所得税额的会计分录
  • 生产加工型企业经营范围
  • 营改增后甲供材的涉税风险
  • 限制性股票科目
  • 2016年营改增后18个税种,第一大税种是()
  • 刚开始建账银行有存款怎么录
  • 员工离职 社保
  • 个税个人所得税返回
  • 企业所得税能否核定征收
  • 进项票也要缴纳印花税吗
  • 费用未入账是什么意思
  • 个税计算方法举例讲解
  • 税收筹划节税基金有哪些
  • 筹建人员是什么工作
  • led电子屏税收编码
  • 2023年王者荣耀世界杯
  • flash插件安装后还是不能播放
  • 苹果怎么设置屏保和壁纸
  • nod32kui.exe - nod32kui是什么进程 作用是什么
  • linux的ip查看
  • thinkphp5控制器
  • 公司购买自己公司的产品
  • php推送微信公众号客户消息
  • php get post
  • 股东分配利润如何入账
  • linux双ip路由设置方法
  • thinkphp curl
  • 企业会计核算利润表
  • 日本福吉山
  • laravel debug rce
  • php反序列化漏洞原理
  • 什么是对账单的回函
  • 预收账款增值税纳税义务
  • 第一季度季初资产总额和第一季度季末同一个数吗
  • bind函数错误
  • 进项税发票可以跨年认证吗
  • 资本公积常用的计量方法
  • 资产减值损失如何确定
  • 房地产开发费用最高扣除比例
  • 回扣,折扣和佣金都具有违法性对吗
  • 收到返利冲成本还是记收入
  • 工商年报基本养老保险缴费基数
  • 国家税务总局关于营改增后土地增值税
  • python如何反编译
  • mongodb createindex
  • 销售费用变动率异常
  • 分公司可以独立签约吗
  • 报销差旅费的进项税额
  • 无形资产减值准备借贷方向增减
  • 母公司无偿给子公司房屋使用谁交房产税呢
  • 代扣代缴个人所得税手续费返还政策
  • 白条可以入账吗?
  • 跨月销项负数发票分录
  • 进项税额转出有余额怎么调整
  • 汇兑损益的税务处理
  • 事业单位的非税收入账务处理
  • 全资子公司向母公司借款怎么做账
  • win7下mysql6.x出现中文乱码的完美解决方法
  • 删除了c盘文件
  • ubuntu20.04怎么用
  • linux系统怎么添加文件
  • regsrv.exe - regsrv是什么进程 有什么用
  • win8磁盘分区合并
  • newsupd.exe - newsupd是什么进程 有什么用
  • cpio压缩
  • python基本用法
  • 使用二氧化碳灭火器时人应该站在什么位置
  • unity资源包怎么用
  • 在xml文件里使用的命令
  • shell脚本 -ne 0
  • javascript要学到什么程度
  • js简单实现图片轮播
  • 走逃失踪纳税人如何处理
  • 国税纳税服务有哪些项目
  • 公司被税务查账对不上
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设