好处1:
存储过程里面的代码, 都是已经被 “编译” 过的了。 直接可以执行。
如果不是存储过程,那么你每次执行代码, 都要再编译。
好处2:
减少网络流量。
假如你的存储过程,是要分别检索几个大的表,然后作复杂的计算,最后产生一个小的汇总结果。
如果全部在客户端处理,那么会有大量的数据,从服务器传递到客户端。 然后客户端将多个 大的结果集合,处理成一个小的汇总集合。
如果用存储过程,那么这些网络上传递的数据,将仅仅包含那个小的汇总集合。
存储过程我也是一知半解,个人觉得其最大的特点就是:
(1)能够完成一些复杂的逻辑运算(支持顺序、循环、分支等),这是标准sql所不能的;
(2)减少与客户端的交互,例如我要把两个表中的数据导入到另外一个表中,完全不需要客户端的介入,后台数据库服务自己即可完成。