首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程的优点体现在哪里?该怎么解决

2012-01-26 
存储过程的优点体现在哪里????由于数据量较大,这几天在做优化工作想把sql语句改成用存储过程但通过事件跟

存储过程的优点体现在哪里????
由于数据量较大,这几天在做优化工作
想把sql语句改成用存储过程
但通过事件跟踪发现存储过程的cpu占用比直接写sql语句要高

sql语句是这样的在一张20万多条数据的表中   根据条件查询取的前十条数据
存储过程的cpu占用是250   sql语句是0
reads也是sql语句的四倍左右或许更高没记住

以前我一直以为存储过程的cpu要比直接调用sql语句来的少的
不知道怎么会这样
仔细想了下   觉得有这么一个可能
就是传入sql语句时   sql   server会对查询条件进行优化
而存储过程系统可能就没进行优化   而我本人也没去优化
这样就解释了为什么存储过程的reads要高   cpu自然也就高了

不知道是不是这么一回事   等待专家中

[解决办法]
那就优化完存储过程再比较吧,否则是个不公平的比较

[解决办法]
在性能方面,存储过程的优点:
1、预编译,存储过程预先编译好放在数据库内,减少编译语句所花的时间。
2、缓存,编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的速度会有明显提高。
3、减少网络传输,特别对于处理一些数据的存储过程,不必像直接用sql语句实现那样多次传送数据到客户端。
4、更好的利用服务器内存,特别对于处理中间数据量不大的情况,存储过程中可以利用存放在内存的表变量。
5、高手补充.......

[解决办法]
俺觉得存储过程就是一方法,封装了好用

热点排行
Bad Request.