为了账号安全,请及时绑定邮箱和手机立即绑定

业务逻辑是应该放在php中还是使用存储过程

业务逻辑是应该放在php中还是使用存储过程

PHP
慕神8447489 2019-03-10 15:12:25
因之前学习时所有逻辑都是在代码中,但是在外包公司工作后大部分逻辑都放在存储过程中,现有如下疑惑.现在写web程序的逻辑是应该写存储过程里还是应该放在php代码中?为什么?如果一个功能用php和存储过程都很容易完成 优先哪种. 感谢大神的指教!
查看完整描述

6 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

放在php中实现,这个没得说的,数据的运算或处理应放到程序端实现,不要放到数据库上。尽量不在数据库上做运算,复杂运算放到程序服务器上,尽可能简单应用SQL

在项目中不推荐使用存储过程,我所在的公司项目要求禁止使用存储过程。

为什么不推荐使用?

  • 缺少相应的日志记录,出现问题很难定位
  • 给主从同步带来隐患
  • 给数据恢复带来问题
  • 给权限控制带来隐患
查看完整回答
反对 回复 2019-03-18
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

业务逻辑必定是程序控制的,数据库只负责存储,因为业务是多变的

查看完整回答
反对 回复 2019-03-18
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

业务逻辑选择应用程序和存储过程,并没有大家说的那么绝对。

如果偏向于数据库中已有计算的业务逻辑,放在存储过程中也没什问题,如果非要放到应用层,需要从数据库中拉取大量数据,效率反而不高。

查看完整回答
反对 回复 2019-03-18
?
波斯汪

TA贡献1811条经验 获得超4个赞

存储过程除了数据库操作封装得到更快速度外,最大的好处是不同语言可以使用同样的存储过程业务。统一的业务处理过程。

查看完整回答
反对 回复 2019-03-18
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

开发中的原则就是逻辑不要在数据库上,比如外键约束都不要用,至于惟一索引是为了绝对的保证数据惟一。

总之逻辑不要包含在数据库中,不然移植是很麻烦的,除非你保证这个项目永远不移植,永远都是你一个人维护。

查看完整回答
反对 回复 2019-03-18
  • 6 回答
  • 0 关注
  • 567 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信