各位大虾和banq大哥请问把所有数据库操作都放在存储过程里合理吗?

xxxzheng 06-07-19
    

公司准备对一个项目重新开发,其中项目经理提出,对数据库的操作最好放在存储过程里。他的原则是对数据库操作距离数据库操作越近系统性能会越好,请问这合理吗?我觉得这样的方式对写复杂的逻辑会很麻烦。而且我不知道是不是真的对数据库操作距离数据库操作越近系统性能会越好。有点迷惘!他构想的方式是,数据库逻辑操作在存储过程里实现!然后JSP页面直接调用它就OK了,说这样的 方式简单,并且最大优点是当你修改的时候你不需要重新启动服务器。?呵呵。。但我觉得这样的方式不是很清晰,特别是以后的维护,在开发的时候的逻辑处理。!期待各位大哥和banq大哥解答!但我提出的建议是采用三层模型。在DAO里实现数据库操作,所有业务层操作在service里实现。

    

tusu1949
2006-07-19 11:26

毋庸置疑..

allahson
2006-07-19 11:45

从性能角度讲,可以说是合理的吧
但是从项目的扩展性和伸缩性的角度讲,是致命的不合理

blues
2006-07-19 12:43

主要是看系统的规模以及项目的性质.放在存储过程中也无可厚非.

不同的人从不同角度来看,会有不同的想法,项目经理与设计者的看法可能不同.

不过我还是建议不放在存储过程中,理由是:1.扩展性问题;2.可能造成开发者做了很久还不知道业务逻辑到底是什么,不利于知识的传播

另一方面,不放在存储过程中,并不意味着一定要用几层结构.简单的应用可以在action中去写业务逻辑,无妨.

xxxzheng
2006-07-19 17:31

谢谢各位的回复。。。。
可能公司现在最注重的是性能问题。。。
而做为开发者我可能更多的是关注开发的过程问题!
因为我自我感觉在存储过程里做过多的逻辑操作比较复杂!使得业务逻辑不是很清晰,!对系统的逻辑不是那么让人容易明白对以后的扩展和维护都会有一定影响!