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