Java8 使用 easyExcel 导入 4g 大小的 csv 文件

17次阅读

共计 203 个字符,预计需要花费 1 分钟才能阅读完成。

粗略观测,在没完成导入前内存占用已经超 48g。粗略估算好像是因为我需要将所有的行记录都放到一个 list,最后聚合处理,这个 list 至少有 9 千万条以上的记录。

以上,何解?

1. 多次读取 每次只保存需要聚合的数据的一部分. 缺点,同一个文件要读好多次 预计会非常耗时

2. 每次读取一行记录都存入数据库,最后从数据库取用。缺点,需要额外的数据库表结构,且 mysql 单表存储也会有查询压力(可以考虑分表,但这个方案挺麻烦的)

正文完
 0