我正在研究一项功能,需要从Oracle表中获取数据,并且表的每一行都映射到Java对象。因此,我将获得记录列表,并且需要使用此数据创建CSV文件。
这里要考虑的不同方案:
将有数百万条记录,我将以1万批为单位获取数据。
每1万条记录的批次将添加到csv。
限制:
CSV文件不得超过100 MB。
如果有任何大小大于100 MB,我应该创建一个新的CSV文件。
问题:
我提出以下解决方案。首先,我们不应该在单个查询中从Oracle读取数百万条记录。 Oracle表应按日期,月,年或任何其他条件进行分区。您可以限制记录数量并写入文件。
第二,csv文件的大小。可以在添加到csv文件中之前查看csv文件的大小,而不是查看结果对象的大小,并确定要在该批附加中添加多少条记录。