使用存储过程有哪些优点?

如题所述

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
优点:
1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
2、减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
3、安全性:参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
扩展资料:
存储过程的缺点:
1、更改比较繁琐:如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新
GetValue()
调用,等等,这时候估计比较繁琐。
2、可移植性差:由于存储过程将应用程序绑定到
SQL
Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则需要将业务逻辑封装在不特定于
RDBMS
的中间层中。
参考资料来源:搜狗百科-存储过程
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-04
对于操作员来讲,存储过程简化了操作员的操作,进程定时调用,可以让系统自动进行定时化、批量化的操作,减少了操作员的工作量。

而且存储过程中可以增加一些日志处理,便于操作员对数据的跟踪。
第2个回答  2012-09-04
运行效率高
降低了客户机和服务器之间的通信量
方便实施企业规则
第3个回答  2012-09-04
1.在数据库服务器中只有首次对存储过程中的命令进行编译,以后直接调用无需编译,加快执行速度。
2.只提供给用户参数和结果,存储过程对查询过程封装和加密,简化用户使用,防止非法修改。
3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量sql语句的代码流量。
4.可以只赋给用户执行存储过程的权利,而不给用户操作相应数据表的权利,这样可以有效防止注入攻击。
5.维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。本回答被提问者和网友采纳
相似回答