什么时候要用存储过程,存储过程的优点

如题所述

使用存储过程并没有什么时候的限制,说白了任何时候都可以使用存储过程,因为存储过程是经过编译的程序片段,在数据库启动时已经加载在oracle的cache中了,并且任何人调用它都不会经过重新编译,也不会进行语法分析及最近路径选择等耗时的操作,所以建议多使用。

存储过程的优点:
   1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
  2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
  3.存储过程可以重复使用,可减少数据库开发人员的工作量
  4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

缺点:
1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。
2.可移植性差
由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。
温馨提示:答案为网友推荐,仅供参考