我们的系统在原来设计时的采用SP(存储过程)的总结:
SP最适用于报表这种大量SQL的组合,因为放在代码中组合大复杂,而集中放在SP中易于维护,速度快.
但如果是大量用户访问时,数据库性能没有办法提高它,而做在中间层代码就有得扩展(如CLB).并且易于移植到其它数据库.
也就是说我们的管理系统用户量少,在报表中可使用SP;而通讯系统(要扩展性能)使用代码组合SQL有利于以后扩展.
因此并不能象我们以前讨论那样,并不是SP好还是组合SQL语句好.就看你用到那里,
总结几点:
1.如果有比较复杂的业务逻辑 不建议采用SP(这要求程序员还要非常熟悉SQL才能读懂业务)
2.考虑移植性和扩展性 不建议采用SP
3.系统较大,考虑系统部署方便性,系统的分层性 不建议采用SP
4.碰到需要处理事务,回滚等内容 建议采用SP
5.考虑长久的维护性,调试和查问题复杂化,版本控制 不建议采用SP
6.SP一定要有文档对应,否则交互的系统一多,就不知道存储过程做什么的了!