我有一个庞大的数据库(21亿行),我需要执行一些计算以提取一些统计结果。据我了解,很明显直接在此数据库上执行计算是不明智的。

我现在想做的是将表的一部分加载到内存中(比如说一百万行)。我不确定如何在不逐行迭代的情况下将ResultSet的整个数据块加载到内存中。

任何的想法?

最佳答案

显然,直接在此数据库上执行计算是不明智的


相反,很可能在数据库中执行此操作是最明智的方法。数据库是专门为处理大量数据而构建的。如果您可以将计算表示为SQL查询,则数据库将确定如何有效执行计算。通常,它比将所有数据加载到内存中并自行处理的速度要快得多。

在某些情况下并非如此(例如,图形分析),但是有些计算应该是您的默认方法。

10-08 19:34