日期:2014-05-16  浏览次数:20562 次

存储过程的优缺点及使用场合
存储过程的优缺点及使用场合

优点:
1、与直接执行sql相比存储过程执行效率高。
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2、升级、维护方便
修改代码需要重新打包部署系统代码,而修改存储过程不需要,只需要在数据库客户端进行修改编译即可。

3、能够缓解网络带宽
java程序对于复杂的sql进行处理,需要多次来回访问远程数据库,增加了网络负担;而封装成存储过程来处理多条sql语句,只需要访问一次数据库。

4、能够多次重复使用,提高开发效率

5、方便DBA对数据库进行性能调优

缺点:
1、可移植性差
公司原来采用sql server开发,后面客户说想要换成Oracle。存储过程改动起来可不是一般的工作量。

2、打破了面向对象编程思想

什么时候该用存储过程?
1、复杂的数据处理用存储过程
如有些生成报表的过程、报表查询。

2、多条件多表联合查询,并做分页处理,用存储过程也比较适合。

3、当在一个事务的完成需要很复杂的商业逻辑时