位置: 编程技术 - 正文

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如何重启)

  • 利润表里面的所得税
  • 盘盈盘亏处理意见和建议
  • 机动车统一发票税率多少
  • 金蝶k3如何设置凭证保存自动新增
  • 税务异常有哪些类型
  • 医疗单位门诊收费票据是发票吗
  • 投标保证金退回规定
  • 发票报送失败怎么弄
  • 纳税人采取预收的措施
  • 仓储费和仓储服务费的区别
  • 成品油增值税抵减政策
  • 外经证提交一般要多久可以通过
  • 承包工程会计账务处理流程
  • 装修费可以一次性计入费用吗
  • 汇算清缴期结束后税务机关发现企业应当取得而未取得
  • 子公司打钱给母公司
  • 销售货物或者提供应税劳务、服务清单怎么开
  • 免费送试用装的话术
  • 暖气冷气热水的增值税适用税率是多少?
  • 孵化器虚拟地址多少钱一个啊
  • 报销抵冲银行日记帐要怎么入帐?
  • 一般纳税人证明在哪里打印
  • 递延收益摊销会计分录
  • 研发费加计扣除做账务处理吗
  • 招待费进项税额转出在申报表
  • 公司增加注册资金需要实缴吗
  • 影响资金等值的三个因素
  • 商品房买卖合同面积差3%法律规定
  • 公司帮人代缴社保怎么做账
  • 关于javascript
  • 以前年度损益调整借贷方向
  • 旧货回收增值税率是多少
  • 客户端调用axis1.4的方式
  • 机器学习报错解决2——ValueError: too many values to unpack (expected 3)
  • 申请个人所得税
  • 公司支付工伤赔偿,是先签字还是先打钱
  • 深度计算公式
  • vue设置元素不可点击
  • javascript常用的数据类型
  • metric命令
  • php搜索代码
  • 委托代理出口账务处理
  • 员工买机票公司会知道吗
  • 典当公司收到房款怎么办
  • 会计备案报送期间
  • js方案
  • 货物运输代理人
  • sql查询服务器硬件信息
  • 一般纳税人承租个人房屋怎么抵扣
  • linux环境中使用哪些搜索命令比find更高效
  • mysql load local
  • 累计盈余定义
  • 进口货物的会计分录
  • 软件开发服务费税率
  • 接受小规模纳税人的货运服务
  • 门面转让费怎么开发票
  • 银行退汇怎么做会计分录
  • 委托加工物资加工费的增值税计入成本吗
  • 化肥贸易行业
  • 购销合同交的印花税税率
  • 日常费用报销管理制度
  • 旅行社代订机票发票报销
  • 结余资金结转申请怎么写
  • 哪些资产减值可以转回哪些不可转回
  • mysql复杂数据查询方法
  • freebsd怎么样
  • windows8安装程序
  • win8中文版是什么版本
  • linux系统
  • win10安装 升级
  • win8.1怎么用
  • crontab环境变量不生效
  • windows config文件
  • node.js怎么学
  • webrtc介绍
  • 如何用unity
  • jQuery ajax 当async为false时解决同步操作失败的问题
  • vue中使用jsx
  • android混淆后怎么破解
  • 云南省税务局app缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设