位置: 编程技术 - 正文

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
  • 账面价值大于计税基础是什么差异
  • 发票丢失的税务处罚
  • 排污费用计入什么会计科
  • 周转材料登三栏式明细账吗
  • 报价含税和不含税哪个划算
  • 销售收入是不是营业收入
  • 销售额营业收入怎么填
  • 临时工工资为什么那么低?
  • 出纳人员应该怎么称呼
  • 非居民企业股权转让协议
  • 事业单位的出纳要承担的责任是什么
  • 营改增的相关规定
  • 业务宣传费企业所得税扣除标准是多少
  • 在建工程抵工程款
  • 上月暂估本月怎么冲销
  • 固定资产不动产和动产的区别
  • 没有税务章的收款收据怎么做账?
  • 职工社保调整
  • 电脑安装的软件桌面上没显示
  • harmonyos怎么打开OTG
  • win10系统还原了怎么恢复
  • 车辆的代驾费应该怎么收
  • windows10出现你的电脑出现问题
  • PHP:mb_substitute_character()的用法_mbstring函数
  • php字符串函数有哪些
  • 进项税和销项税谁交
  • multipartfile 多文件上传
  • 出口免抵增值税是什么意思
  • 幼儿园会计需要什么条件
  • 税务安全证书不成功什么意思
  • jquery和php
  • 客户端调用axis1.4的方式
  • 新准则预付账款计算公式
  • yolox改进
  • 人工智能 深度
  • php常用加密方式
  • /f命令
  • 劳动法节假日加班工资
  • sql查询服务器硬件信息
  • 计提制造费用
  • 工资发放用现金
  • 查看、修改mysql的用户名和密码
  • 购买房屋缴纳的契税可以退税政策
  • 生活垃圾处理费合法吗
  • 土地增值税间接转让怎么算
  • 年度利润总额的英文缩写
  • 主营业务收入的计算公式
  • 上月未记账,本月同样可以记账
  • 外币账户记账方法
  • 固定资产一次性加速折旧
  • 公认会计原则是哪个国家的?
  • 怎么设置账簿
  • sql查询字段被包含的内容
  • 重新组织是什么意思
  • mysql的修改命令
  • win10应用商店try that again
  • centos直接安装
  • xp系统怎么调出任务管理器
  • win10系统永久激活软件
  • 苹果Mac系统怎么用光盘安装
  • 服务器不支持是什么意思
  • windows2008无法识别usb
  • cocos jsc
  • c# opengl 3d
  • Shell正则表达式获取指定字符串
  • 自动化软件安装工具
  • javascript 异步操作
  • 文本框css关闭输入框
  • css应用领域
  • shell中的注释用什么表示
  • javascript学习指南
  • Unity3D游戏开发(第2版)
  • python爬取教程
  • python周期性分析
  • 怎样看业务序号
  • "贴现"是什么业务,都涉及哪些费用?
  • 起诉公司需要法人信息吗
  • 船舶吨税多少天缴纳一次
  • 为什么专利转让要交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设