我有一个巨大的数据库(21亿行),我需要执行一些计算来提取一些统计结果。据我了解,直接在这个数据库上执行计算显然是不明智的。
我现在想做的是将表的一部分加载到内存中(例如 100 万行)。我不确定如何将 ResultSet 的整个数据 block 加载到内存中而不需要逐行迭代。
有什么想法吗?
最佳答案
it's obvious that it is not wise to perform the calculation directly on this database
相反,很可能在数据库中执行此操作是最明智的方法。数据库是为处理大量数据而精确构建的。如果您可以将计算表达为 SQL 查询,数据库将计算出如何有效地执行它。一般来说,它会比将所有数据加载到内存中并自行处理要快得多。
有些计算并非如此 - 例如图形分析 - 但它应该是您的默认方法。
关于java - 有没有办法将结果查询加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873439/