批量处理数据

卡卡罗特孙 2018-04-13 11:57:37
功能需求:页面读取一个TXT文件(百万行数据)存至数据库表中。
现在问题是:在插入数据时需要判断表中是否有这条数据,耗费了大量时间。
在没有判断的情况下,导入10w条已经要120+秒了,100w条耗时吐血。更不提
一条条判断耗时太久,有没有什么好的办法?
...全文
425 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Braska 2018-04-13
  • 打赏
  • 举报
回复
nio文本切割+多线程 连接池+jdbctemplate
  • 打赏
  • 举报
回复
2L说的就可以,分批次处理,因为你无论换什么技术,都是要分批次处理的,你的txt在处理之前能不能分成多个txt文件
卡卡罗特孙 2018-04-13
  • 打赏
  • 举报
回复
就是用的jdbcTemplate,每次插入是1w条
CrazyCoder1992 2018-04-13
  • 打赏
  • 举报
回复
另外,大数据量插入,使用jdbcTemplate的性能比myBatis等框架的性能要好好多
CrazyCoder1992 2018-04-13
  • 打赏
  • 举报
回复
分批处理。 不要一条条循环插,IO开销会很大。 也不要一次性全部插入,session过大也会影响性能,甚至可能导致内存溢出。 试一下2000条一批,分批插入。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧