存储过程的优缺点 存储过程有哪些优缺点

【存储过程的优缺点 存储过程有哪些优缺点】 优点:1、存储过程可以重复使用,从而可以减少数据库开发人员的工作量 。2、存储过程位于服务器上,降低了网络传输的数据量 。3、安全性高 。缺点:1、开发调试差 。2、可移植性差 。3、如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译 。4、维护困难 。
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它 。存储过程是数据库中的一个重要对象 。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升 。
存储过程的优点
1、重复使用 。存储过程可以重复使用,从而可以减少数据库开发人员的工作量 。
2、提高性能 。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译 。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率 。
3、减少网络流量 。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量 。
4、安全性 。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程 。
存储过程的缺点
1、开发调试差:无良好的IDE开发工具,存储过程的调试比一般SQL要复杂的多 。
2、可移植性差:由于存储过程将应用程序绑定到数据库上,因此使用存储过程封装业务逻辑将限制应用程序的可移植性 。
3、重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译(不过也可以设置成运行时刻自动编译) 。
4、如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,接着就是系统的相关问题了,最后如果用户想维护该系统可以说是很难很难、而且代价是空前的,维护起来更麻烦 。

    推荐阅读