纯粹就性能来说,存贮过程肯定要好过外部的调用。
三层结构中不鼓励大量使用存贮过程的原因主要不是考虑性能的问题,更多的是考虑component的通用性、可移植性以及负载平衡等因素。

解决方案 »

  1.   

    我建议能用存储过程的地方,尽量使用。
    好处吗难道你开发出来的程序,需要经常改变dbms?!
      

  2.   

    我觉得使用procedure灵活性和可移植性较差
      

  3.   

    存储过程的可移植性确实非常差, 几个主要的RDBMS SQL的语法相差太大. 但灵活性,可重用性并不差,ORACLE的包其实也可以认为是一种早期的分层概念.我的想法是: 
    1. 用过程来处理基本表读写操作(基本上不在外部直接处理表)
    2. 用中间层来处理业务逻辑
    3. 前台只处理显示和接受输入
      

  4.   

    同意flowerofwind(现实很残酷)和mycode(不写代码)。
    我的意见是两层结构时能用就用,毕竟还是很好用的。
    三层结构时能不用就不用,不到万不得已再用。
    若要考虑可移植性,干脆不用,不好移植的。个人观点,仅供参考:)