百万数据excel导入

1 使用工具包

jar包提供了一个ReadListener接口, 去实现此接口的invoke方法

每解析完一行数据,都会调用一次invoke方法进行数据入库, 这行数据会被封装成Salaries对象

结论一:

单线程解析和单线程单条数据插入数据库,两万条数据大概耗时2分钟

 

为了提升性能可以改为批量插入

批量插入: 将解析完的数据保存在ThreadLocal中, 然后设置如果ThreadLocal中数据超过1万条则进行批量插入, 插入完数据库后再清空ThreadLocal中数据

结论二: 单线程解析, 单线程批量插入,一百万条数据大概耗时5分钟

 

改为多线程解析, 前提是,一个excel中有多个sheet,例如数据保存在20个sheet中, 使用线程池,则可以开启20个线程进行解析

 结论三: 多线程进行解析,单线程批量插入,大概耗时2分钟

 

结论四: 多线程解析,多线程批量插入数据库,耗时大概1分钟

 

posted @ 2023-07-01 20:22  剑阁丶神灯  阅读(113)  评论(0编辑  收藏  举报