位置: 编程技术 - 正文

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

  • 车船税征税范围口诀
  • 金税盘锁死日期是16号,16号能清卡吗
  • 一般进口货物的完税价格如何确定
  • 个人补缴的医保要做账吗
  • 汽车加油增值税发票
  • 用友T3资产负债表公式
  • 计提工资和实际发放工资必须一致吗
  • 财务报表申报有税额吗
  • 外商投资企业提取储备基金
  • 限售股流通股
  • 收到借款确认书模板
  • 单位车辆折旧完怎么处理
  • 增值税应交税费科目
  • 新会计准则最大变化
  • 企业筹建期间需要招几个会计
  • 独生子女保健费发到孩子多大年纪
  • 车辆租赁费可以开专票吗
  • 二房东税务局开发票
  • 个人借款利息收入增值税税率
  • 货物分批付款会计处理
  • 小规模纳税人开专票和普票的区别
  • 公务费和业务费怎么算
  • 本月开了红字发票可以退税吗
  • 支付境外关联方借款利息需要的
  • 政府会计财政拨款收入借贷方向
  • linux CentOS/redhat 6.5 LVM分区使用详解
  • 广告费和业务宣传费税前扣除基数
  • 软件和硬件的成本按销售占比做分摊怎么算
  • php精确的统计在哪里找
  • 电脑启用aero
  • PHP:mb_strrchr()的用法_mbstring函数
  • 注销公司如何登报
  • 单位收到的投标通知书
  • 短期借款利息计算
  • 橡皮树的养殖方法视频教程
  • html页面间传数据
  • 房地产企业利润
  • 采购预算测算依据
  • 厂房的设计审查要求
  • 库存现金月末怎么结转
  • 个人独资企业的特点
  • 公允价值模式的特点
  • 请求转发与重定义的区别
  • 怎么才能学a1
  • c语言二级指针详解
  • 给客户维修设备更换配件怎么开票
  • db2数据库备份文件为bkd格式
  • mongodb数据表设计怎么写
  • 其他资本公积可以冲减吗
  • 对账小技巧
  • 劳务分包属于人工成本吗
  • 税务现金流量表填错了怎么办
  • 普通发票验旧后怎么作废
  • mysql查询性能分析
  • 一般纳税人销售旧货税率
  • 长期股权投资被投资方实现净利润
  • 附加税印花税会计分录
  • 增加固定资产原值后折旧
  • 应付账款冲减会计分录
  • 辞退福利计入什么明细费用
  • 借款跨年要交个税吗
  • 三栏明细账本怎样填写
  • 关于废止有关排污收费规章和规范性文件的决定
  • 哪些账簿可以跨市登记
  • 怎样银行存款,预付帐款,应收帐款余额做资金平衡表
  • mysql安装配置教程5.7.25
  • sql多级汇总
  • windows server 2008 r2安装教程
  • ubuntu和windows比较有什么好处
  • linux使用mv命令,结果文件不见了
  • 2015.6.28开始写博客记录cocos2dx学习历程
  • [置顶] 此外,车牌号:458143(懂得都懂[吃瓜])
  • threejs中文文档pdf
  • android内存dump
  • 使用css设置文字效果
  • javascript io
  • jquery获取table的tr
  • linux的cp和mv
  • python嵌套语句
  • html5三级菜单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设