javaWeb项目 Excel导入速度优化

经过测试,当前excel导入功能,20000 条数据平均导入用时在 0.5h 左右。现要求将 50000+ 的数据量导入时间控制在 10m 之内。
使用 10000条数据进行测试,结果如下:

Excel文件读取用时数据检查用时数据库写入用时
3.2m1.3m1.2m

打开Excel导入代码,我们可以看到是调用了jxl,并使用了三层for循环
在这里插入图片描述
我们了解到jxl在大数据量上的读取速度表现远不如poi,具体差异如下(数据来源于网络):

文件大小POI加载耗时POI总耗时JXL加载耗时JXL总耗时
57KB1172ms1172ms1265ms2250ms
652KB2297ms2313ms4406ms9705ms
2.24M3109ms3140ms16313ms37453ms

所以我们着手于将原JXL的读取方式改为POI的读取方式
在这里插入图片描述
修改之后测试发现,10000条数据导入速度降至30秒左右,50000条在1分20秒左右,效果明显。
之后又通过将原来数据检查和数据插入方法中的 updateinsert 语句替换为 marge into ,(这个我会另开一篇讲),最终10000条数据导入的总用时在40秒左右,50000条数据导入的总用时在2分钟左右。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值