Java 后端 做 excel 导入数据用开新线程的办法提高导入速度 是否有效

2019-12-16 16:56:31 +08:00
 rqxiao

excel 假如有一百万条数据

代码中写一段 记录条数达到 2000 条时,

来一句 new Thread() {........}.start();

是否可行

2392 次点击
所在节点    程序员
8 条回复
dekuofa
2019-12-16 17:06:21 +08:00
ForkJoinPool?
chendy
2019-12-16 17:09:32 +08:00
个人观点:
做好分批批量插入就差不多了
多线程感觉不是很划算,可能需要处理”某个线程插入失败“之类的情况,线程太多对数据库的压力也可能会比较大
以及需要多线程的场景要用线程池不要 new Thread…
phantomzz
2019-12-16 17:11:02 +08:00
读的话,如果所有数据都在一个文件里面,效果应该不明显吧。
SupperCoder
2019-12-16 17:14:26 +08:00
可以 1 个线程专门读取 excel 数据,再开多个线程用于写数据
soulzz
2019-12-16 17:27:04 +08:00
保证正确性时多线程写单个文件反而更慢
Asice
2019-12-16 17:27:56 +08:00
性能明显在写,多线程写
rumingruyue
2019-12-16 17:45:47 +08:00
可以用多线程,但是建议用线程池而不是手动创建线程,核心线程数和可用 CPU 数一致或者少一两个。
另外可以了解下 completablefuture
gaius
2019-12-16 19:11:23 +08:00
取决于你用的框架

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/629531

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX