MySQL应该做多少计算?

MySQL应该做多少计算?,sql,mysql,Sql,Mysql,我正在编写一个应用程序,并使用MySQL返回MySQL中两个日期之间的差异。MySQL应该这样做,还是应该让PHP来处理 我还需要返回的所有结果的总和,是在php端返回并相加,还是有办法在MySQL服务器端将所有结果相加?这在某种程度上取决于应用程序,但一般来说,我会将其推送到php,因为通常你要为多个并发访问建立一个网站;为什么要把计算结果存入数据库,可能会遇到瓶颈呢?对此没有好的答案。我个人尽可能多地使用SQL,但主要是因为我可以,而不是因为我应该这样做 是的,您可以让MySQL计算一个总和

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


我还需要返回的所有结果的总和,是在php端返回并相加,还是有办法在MySQL服务器端将所有结果相加?

这在某种程度上取决于应用程序,但一般来说,我会将其推送到php,因为通常你要为多个并发访问建立一个网站;为什么要把计算结果存入数据库,可能会遇到瓶颈呢?

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

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

SELECT id, SUM(price) FROM items GROUP BY id WITH ROLLUP

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

如果是数千个不同的数字,我将尝试在数据库端执行此操作。查理说的话和平常差不多。我经常在数据库中进行计算,并将它们作为附加列添加,以防我需要进行服务器端排序,但这显然不是您的情况。

我认为这里有两种不同的情况。在返回两个值并对其执行计算的情况下,在前端执行该操作可能最有意义,只要它不是需要大量业务逻辑的复杂计算。如果它确实涉及复杂的或专门的业务逻辑,那么您应该为该逻辑设置一个中心位置,无论它是在业务层中还是在数据库中,以便始终如一地完成。如果你只是想找出两次约会的不同之处,那就在最前面做吧

在第二种情况下,对值求和,这听起来像是应该在数据库中完成的事情。网络往往比当今硬件上的现代数据库更成为瓶颈。如果您可以在数据库中进行添加,则可以节省通过网络发送大量行的时间