不能说不提倡,还是要分业务
1:简单的逻辑,直接SQL就可以实现,简单快捷
2:复杂的逻辑,使用存储过程,可能易维护性,但是不易于开发调试
3:存储过程写起来比较繁琐,没有直接SQL来的直接
4:安全角度的话,应该都有避免的方法
我任何时候都不用存储过程.对用存储过程的.我觉得就是太懒,不愿意在系统结构上下功夫去设计.
用过被坑过自然就不会再用.我们以前的系统,其它人要用.我说了他们也不听.到后面哪些存储过程在用,哪些没在用都不知道.
加一个字段删一个字段,都要把所有人问过一遍,他们的存储过程会不会有问题.
后面迁移的时候至少有十几个存储过程的代码是不能创建的,因为数据缺少字段.
如果你们的系统需求是一辈子不变的.那我不反对.只要你觉得你的系统将来结构或逻辑是会改变的.那就别用
貌似描写的很多问题都是可以人为避免的....
@waiter: 是的.给开发人员增加压力而已.
问题是谁提倡。大学一年级的时候辅导老师说,我们学校是不提倡学生谈恋爱的。
后来过了几年,改成不鼓励学生谈恋爱,现在改成不管你谈不谈恋爱。
鞋子穿的舒不舒服,自己的脚才知道。
不要老是想绕过所有的弯路(再说弯不弯还不确定呢),你走走看,
又不会死的。
试了,死了一个项目。
对于模型变更频繁,或者在可以预期的时间内会有模型变更的项目,最好不要用。
如果每个分布式部署都对应自己的一套数据库的话,每次更新应用更新和数据库都更新。
如果只是一个数据库的使用,存储过程在处理一些比较复杂的业务时还是比较好的。
字段变更频繁说明项目需求变更频繁....
分布式部署,目的在于分散单台机器压力,如果使用存储过程,将会使计算压力集中在数据库,违背了分散压力提高性能的初衷。