首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL应该做多少计算?

问MySQL应该做多少计算?
EN

Stack Overflow用户
提问于 2009-05-14 14:53:13
回答 4查看 293关注 0票数 3

我正在编写一个应用程序,并使用MySQL在MySQL中返回两个日期之间的差值,MySQL应该这样做,还是应该让PHP来处理?

我还需要我得到的所有结果的总和,我是否应该返回它们并在php端将它们相加,或者是否有一种方法可以在MySQL服务器端将所有结果相加?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-14 14:56:22

这在一定程度上取决于应用程序,但一般来说,我会将其推送到PHP,因为通常情况下,您正在构建一个用于多个并发访问的web站点;为什么要将计算放到数据库中,并且可能会有瓶颈?

票数 4
EN

Stack Overflow用户

发布于 2009-05-14 16:33:43

我想你这里有两个不同的案例。在返回两个值并对其执行计算的情况下,只要不是需要大量业务逻辑的复杂计算,那么在前端进行计算可能是最有意义的。如果它确实涉及复杂或专门的业务逻辑,那么您应该为该逻辑提供一个中心位置,无论它是在业务层中还是在数据库中,以便它能够一致地完成。如果你只是想找出两个日期之间的不同之处,那就直接在前端做吧。

在第二种情况下,您正在求和值,这听起来像是应该在数据库中完成的事情。在今天的硬件上,网络往往比现代数据库更成为瓶颈。如果您可以在数据库中添加它们,那么就不必通过网络发送一大堆行。

票数 1
EN

Stack Overflow用户

发布于 2009-05-14 15:01:03

对于这个问题,没有好的答案。我个人尽可能多地使用SQL,但主要是因为我可以,而不是因为我应该这样做。

是的,您可以让MySQL计算一个和:

代码语言:javascript
复制
SELECT id, SUM(price) FROM items GROUP BY id WITH ROLLUP

最后一个结果,即id等于NULL的结果,将包含所有行的sum。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/863790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档