Java实现批量导入MongoDB时的性能问题

我正在用Java实现一个数据批量导入MongoDB的功能。

我的思路是读取目标内容,转换为Document对象并放入List,然后通过MongoDB Driver的insertMany方法入库,代码如下:

clipboard.png

但现在发现性能问题:

目标数据量:26K+条数据,共计30MB+,完成入库时间约为10分钟左右。

我自己做问题定位,发现耗时的代码是循环语句块,但我也不知道别的实现方法,还请各位大牛指点小弟。

阅读 3.1k
1 个回答

list使用并发安全的vector或者Collections.synchronizedList(List list)包装一下,然后分块多线程添加,这种任务很好划分,比如每2k个交给一个线程。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题