在插入下一批数据之前确定CSV大小

问题描述 投票:0回答:1

我正在研究一项功能,需要从Oracle表中获取数据,并且表的每一行都映射到Java对象。因此,我将获得记录列表,并且需要使用此数据创建CSV文件。

这里要考虑的不同方案:

  1. 将有数百万条记录,我将以1万批为单位获取数据。

  2. 每1万条记录的批次将添加到csv。

限制:

  1. CSV文件不得超过100 MB。

  2. 如果有任何大小大于100 MB,我应该创建一个新的CSV文件。

问题:

  1. 一旦CSV文件大小达到100 MB,如何确保不插入记录?
  2. 假设我有包含1万个雇员对象的记录列表,并且我以某种方式计算出该列表的大小为1MB。因此,如果我将这些记录放入csv中,csv的大小也将是1 MB吗?
java oracle csv
1个回答
0
投票

我提出以下解决方案。首先,我们不应该在单个查询中从Oracle读取数百万条记录。 Oracle表应按日期,月,年或任何其他条件进行分区。您可以限制记录数量并写入文件。

第二,csv文件的大小。可以在添加到csv文件中之前查看csv文件的大小,而不是查看结果对象的大小,并确定要在该批附加中添加多少条记录。

© www.soinside.com 2019 - 2024. All rights reserved.