存储过程的特点:
1.存储过程是预编译过的,并且经过优化后存储于sql内存中,使用时无需再次编译,提高了工作效率。
2.存储过程的代码直接存放于数据库中,一般有客户端直接通过存储过程的名字进行调用,减少了网络流量,加快了系统执行速度,例如在进行百万以上的大批量数据查询的时,使用存储过程分页要比其他方式分页要快得多。
3.使用存储过程可以减少sql注入式攻击,提高了系统的安全性,执行存储过程的用户要具有一定的权限,才能使用存储过程,没有数据操作权限的用户只能在其控制下间接地存取数据。
4.在同时进行主、从表及多表间的数据维护及有效性验证时,使用存储过程比较方便,而且可以有效利用sql中的事务处理机制。
5.使用存储过程,可以实现存储过程设计和编码工作分开进行。只要将存储过程名、参数及返回信息告诉编码人员即可。
6.但使用存储过程封装业务逻辑将限制应用程序的可移植性;另外,如果更改存储过程的参数或者返回的数据及类型的话,需要修改应用程序的相关代码,比较繁琐。