我在 Spring 中有一个 Web 应用程序,它具有从来自大型 Oracle 数据库的结果集中生成 CSV/Excel 电子表格的功能要求。预期的行数在 300,000 - 1,000,000 范围内。处理时间并不像保持应用程序稳定那么大——现在,非常大的结果集会导致它耗尽内存并崩溃。
在这样的正常情况下,我会使用分页并让 UI 一次显示有限数量的结果。但是,在这种情况下,我需要能够在一个文件中生成整个集合,无论它有多大,以供离线使用。
我已将问题隔离到用于将结果集转换为对象的 ParameterizedRowMapper 上,这就是我遇到的问题。
我可以使用哪些技术来控制此操作?分页仍然是一种选择吗?