[alibaba/easyexcel]Excel数据量较大,上传校验时与数据库的交互次数多,导致查询速度缓慢

2024-05-17 528 views
3

导入时,需要对上传文件的每一行进行数据校验,easyExcel是每一行读取的,这样相当于每行都需要查询数据库,这样对数据库的压力比较大,速度也慢。 项目上用poi时,是先把校验的数据一次性从数据库拉取,在代码里面用map做for循环, easyExcel是否也支持这种形式?

回答

4

你在监听器里面可以先把数据拉取出来,在读取每一行数据的时候进行校验判断即可

6

把数据拉取出来是存放到内存中吗?这样会造成内存 溢出吧?

7

把数据拉取出来是存放到内存中吗?这样会造成内存 溢出吧?

理论上存在内存溢出的风险,所以需要和业务沟通。1。监听器做批量check,达到一定量级进行commit,保证一部分合法数据先行入库。2.保证数据量可控,不能太大,否则造成内存溢出。

4

分页查询