服务器存储过程的优点:
1.存储过程因为SQL语句已经预编译过了,因此运行的速度比较快。
2.存储过程在服务器端运行,减少客户端的压力。
3.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次,类似方法的复用。
4.减少网络流量,客户端调用存储过程只需要传存储过程名和相关参数即可,与传输SQL语句相比自然数据量少了很多。
5.增强了使用的安全性,充分利用系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制,避免非授权用户对数据的访问,保证数据的安全。程序员直接调用存储过程,根本不知道表结构是什么,有什么字段,没有直接暴露表名以及字段名给程序员。
服务器存储过程中的缺点:
调试麻烦(至少没有像开发程序那样容易),可移植性不灵活(因为存储过程是依赖于具体的数据库)。也可以了解关于数据存储的七个技巧。
存储过程的作用不只在资源消耗上。现在,你的程序有两种方式登录,一种是在web端登录,一种是原生client端登录。假设,web端是使用javaweb实现,client端是使用visualc++来实现。如果,javaweb和visualc++在登录的时候都调用login_user_and_result(),就可以保持用户一致的登录行为,避免开发人员分别实现导致其他问题。其实,你还可以给存储过程添加各种数据库级别的权限,统一控制登入权限。
小结:总之存储过程是好东西,在做项目时属于必备利器。在服务器硬件选购、确定服务器内存类型、服务器硬盘类型、服务器硬盘容量、服务器结构前大家站长首先要考虑的是将来服务器存储过程中会遇到的实际例子。