需要从结果集中向CSV中写入250万个数据,用Java编写这些海量数据的最佳方法是什么

时间:2018-09-19 14:06:29

标签: java

需要从结果集中将250万个数据写入到CSV中,这是在Java中写入这些海量数据的最佳方法,目前写入需要1.5个小时。 示例代码:

PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("test.csv"), "UTF-8")), false);

int colcount= rs.getMetaData().getColumnCount();

while(rs.next()){
  // working on some headers
   for (int i= 1; i<= colcount; i++) {
        Object value = rs.getObject(i);
        pw.println(value.toString());
   }
}

请帮助我

1 个答案:

答案 0 :(得分:1)

尝试直接在数据库查询中准备CSV(如果可能)。我的意思是,与其运行select * from table之类的查询并处理每一列作为响应,不如执行select id || ', ' || name from table并将第一列用作整个CSV行。