sqlserver存储过程与即时查询的计划缓存

本文记录了一次针对SQLServer高CPU问题的排查过程,通过对比存储过程和即时查询(拼接SQL)在执行计划缓存上的表现,强调存储过程在性能优化中的优势。实验结果显示,存储过程能够重复利用执行计划,减少编译消耗,而动态SQL存储过程的效果与直接执行SQL相似,每个参数都需要编译计划。
摘要由CSDN通过智能技术生成

最近公司服务器CPU一直很高,没有发现死锁信息,经检查,发现开发人员都是直接拼SQL,因此数据库很少重复利用执行计划,大量的编译消耗很多CPU,所以建议使用参数化查询和存储过程,但老大要求能证明存储过程确实比拼SQL性能要好才会修改代码,因此写了如下代码做说明(此类代码很多,在此只是做下记录,以鼓励自己以后多写博客)

1.首先建立一张空表(在此是copy现有的表结构)

2.分别实现了4个简单的存储过程

3.分别用不同的参数执行代码(方便看出效果)

4.查看缓存信息,并比较

 --Version

Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)   Jul  9 2008 14:43:34   Copyright (c

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值