假设我在MySql数据库中有10000行,我想计算多个值(总和。中位数,平均值......)。
编辑
由于
答案 0 :(得分:4)
使用 MySQL 函数更好更快的选项比在 Java 中编写代码。 这是因为MySQL函数将比Java更接近数据。此外,数据库(MySQL)函数也针对此类函数进行了极为优化。
如果你使用java,那么在应用任何逻辑之前,你会先在内存中加载那么多数据。
答案 1 :(得分:2)
取决于
这里的大多数人都说它更快,因为它更接近数据等。
然而,这不是必须的。
例如,如果过滤条件很复杂,并且结果数量接近记录总数,并且如果数据库机器不是超快速而您的应用程序速度非常慢,那么在这种情况下,数据库执行简单job(获取所有记录)并在应用程序中完成工作可以快得多。 (我甚至没有提到过数据库的低可扩展性,有更多的情况可能会导致数据库中的过滤比应用程序更慢)
所以,没有经验法则。
我的建议是,在DB中进行简单直接的过滤/聚合,让DB完成它擅长的工作。如果您需要额外的复杂计算进行过滤,请在应用程序代码中执行(并对DB过滤结果执行)。
答案 2 :(得分:1)
MySql查询速度更快,同时也节省了大量内存和CPU时间。它的一般逻辑。
答案 3 :(得分:0)
当然会有例外,但一般情况下,最好让数据库引擎进行数据过滤,聚合,排序等。数据库旨在处理这些事情。