现在的位置: 首页 > 综合 > 正文

executeBatch()处理大数据总结1

2013年12月01日 ⁄ 综合 ⁄ 共 277字 ⁄ 字号 评论关闭

100W数据生成一个文件的过程中,等文件生成完毕之后才能把数据库中的数据备份到历史表中,这个时候才能进行事务的提交,也就是执行commit(), 并且删除原表数据,100W数据按照3000一批写入文件,每批次只是通过 PreparedStatement.addBatch();加入到批次里面去,并没有执行PreparedStatement.executeBatch(),而是在commit()之前统一调用的PreparedStatement.executeBatch(),这样的话PreparedStatement就会缓存100W条数据信息,造成了内存溢出.

抱歉!评论已关闭.