位置: 编程技术 - 正文

SQL参数化查询的另一个理由 命中执行计划(sql参数化是什么意思)

编辑:rootadmin
1概述 SQL语言的本质就是一串伪代码,表达的是做什么,而不是怎么做的意思。如其它语言一样,SQL语句需要编译之后才能运行,所以每一条SQL是需要通过编译器解释才能运行的(在这之间还要做SQL的优化)。而这些步骤都是需要运行成本,所以在数据库中有一个叫做执行计划的东西,编译器会将编译过后的SQL存入执行计划当中,当遇到同样的SQL时,就直接调用执行计划来执行,而不需要再次编译。 通过对上面执行计划的认识,为了提高数据库运行的效率,我们需要尽可能的命中执行计划,这样就可以节省运行时间。 2相关SQL 2.1查看当前数据库中所有的执行计划: 2.2删除执行计划 2.3测试脚本(创建员工表,并向其插入条数据)

3测试执行计划

3.1 先执行删除所有执行计划,然后执行SELECT * FROM Employee ,最后查看执行计划(2.1中的查看执行计划脚本)如下图

即SQL SERVER会为每一条SQL建立一个执行计划,并将它缓存起来

3.2 再运行一次SQL: SELECT * FROM Employee,并查看执行计划

可以看到这个计划的重用次数为2,即这个计划被重用了;

3.3 修改SQL:SELECT * FROM Employee(在SELECT后多加一个空格),执行并查看执行计划

结果又新添加一个执行计划,即SQL SERVER认为这是两个不同的SQL语句并分别建立了执行计划;

4重用执行计划——使用参数化查询方法

推荐整理分享SQL参数化查询的另一个理由 命中执行计划(sql参数化是什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserver参数化查询,sql参数化是什么意思,参数化sql命令,sql 参数,sql参数化查询的原理,sql语句参数查询,sqlserver参数化查询,sqlserver参数化查询,内容如对您有帮助,希望把文章链接给更多的朋友!

4.1 未参数化SQL查看执行计划:

SQL参数化查询的另一个理由 命中执行计划(sql参数化是什么意思)

即当执行一个未参数化SQL时,SQL SERVER需要先将其转换成一个参数SQL并执行它。一共需要两执行计划

然后再执行下面的代码(查询的条件变了)查看执行计划

此时不需要再准备一个准备的SQL,但还是需要再产生一个执行计划,并缓存下来;

4.2 参数化SQL

输入参数并执行,然后查看执行计划:

只需要一个准备SQL,然后,输入不同的参数,并执行,再查看执行计划

重用执行计划,perfect...

5总结

总的来说,SQL语句在执行时,会生成执行计划并将它缓存起来,我们可以通过提高使用缓存中的执行计划次数,来减少数据库的压力。而使用参数化的SQL是一个很好的选择,参数化查询的作用不仅只有防止SQL注入,还可以提高缓存中执行计划使用次数。

SQL Server重温 事务 为什么使用事务当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚。显示设置事务begintrybegintransactioninsertintoshiwu(a

sql 存储过程批量删除数据的语句 CreatePROCEDUREBatch_Delete@TableNamenvarchar(),--表名@FieldNamenvarchar(),--删除字段名@DelCharIndexIDnvarchar()asDECLARE@PointerPrevintDECLARE@PointerCurrintDECLARE@TIdNVARCHAR(),@

SQL处理多级分类,查询结果呈树形结构 这样处理的弊端是:如果数据量大,子分类很多,达到4级以上,这方法处理极端占用数据库连接池对性能影响很大。如果用SQL下面的CTE递归处理的话,

标签: sql参数化是什么意思

本文链接地址:https://www.jiuchutong.com/biancheng/348171.html 转载请保留说明!

上一篇:每个分类取最新的几条的SQL实现代码(分类不同)

下一篇:SQL Server重温 事务(sql server如何重启)

  • 小规模修理修配的税率是多少
  • 基本户和一般户的用途
  • 产品模板是固定的吗
  • 减免申报表如何填
  • 测试费用
  • 分公司是否可以参与投标招标
  • 母子公司间提供保洁保安合法吗
  • 上月未计提税金,下月怎么做分录
  • 核定征收个体户个人经营所得税
  • 进项税申报但未抵扣
  • 购买货物运费怎么做分录
  • 对公账户注销需要本人吗
  • 是否有综合所得申报是什么意思
  • 无形资产盘盈
  • 稿酬所得的个税计算
  • 资产负债中应交税费怎么算
  • 子公司能转让吗
  • "专项储备"在合并报表层面如何处理?
  • 未开票收入必须全部转开票收入吗为什么
  • 附有销售退回条款的递延所得税问题
  • 实收资本和注册资本的账务处理
  • 我公司的某供应商英语
  • 闭包csdn
  • uniapp支付流程
  • 非营利组织免税范围
  • React hooks中 useState踩坑-=--异步问题
  • tensorflow dlib
  • PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
  • php 通信
  • php接收post数据并查询数据库
  • linux部署tomcat的war包
  • python里面的类
  • 税务三流一致是什么意思
  • 利润表年报本期金额填什么
  • mysql的一些命令
  • 待报解预算收入怎么做账
  • 净利润弥补以前年度亏损
  • 非货币性资产交换是企业经常发生的
  • 企业年金举例说明
  • 小规模纳税人增值税申报表怎么填
  • 可供出售金融资产属于什么科目
  • 什么是企业年金险
  • 经营费用属于什么类科目
  • 建筑业异地预缴税款怎么纳税申报
  • 零税率发票有法律效力吗
  • 销售边角料的增值税率
  • 公司注销后原有未使用的包装还可以用吗怎么办
  • 电汇凭证需要盖什么章
  • sqlserver锁机制
  • mysql5.7.
  • win10的安装目录在哪
  • win xp 添加网络打印机
  • xp怎么关闭自启动
  • 苹果mac系统如何升级最新版本
  • 苹果电脑支付在哪里设置
  • win8.1无法启动
  • 64位windows8系统安装驱动时出现签名错误的解决方法
  • win10怎么把中文系统改成英文
  • win8 boot manager
  • windows10图标显示不出来
  • 缺少系统操作怎么办
  • linux ftp创建文件夹命令
  • cocos做游戏
  • 微信小程序用户名怎么改名
  • 如何使用jquery插件
  • css 定位
  • 用python写网页
  • dom编程艺术这本书好吗
  • 用python抓取网页数据的代码
  • jquery提供了三种删除节点的方法,分别是什么
  • 使用筷子就餐会不会传染乙肝病毒
  • 图片旋转鼠标键盘怎么弄
  • 细说javascript
  • python写监控脚本
  • 你不需要知道我是谁,祖国知道我
  • 江苏电子税务局客服电话
  • 小规模增值税减免会计科目
  • 税控盘开的电子票怎么发送给人
  • 法规处职责要点和底线清单
  • 税率分几种 分别是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设