10W级别数据校验,想用函数去执行校验并且返回一条自定义的记录
背景:开发一个导入校验的功能,由于数据量大,为了方便批处理,所以前台通过导入单据号来实现对数据库对应单据信息的批处理。
目前项目存在的问题:由于数据量大,前期没考虑到这样一个问题,导致导入功能出现长时间未响应而报错,甚至占用内存爆炸,GC自动回收都不行了。所以想通过调用存储函数来将这10W级别的单号通过传入oracle存储函数进行批处理,校验,同时对单据的信息进行处理后,把需要的信息合并成一条记录返回。
------------------------------------------------------
各位大佬们,我这边遇到俩问题需要大佬们帮我:
1、对于这个存储函数,传参是一个List数组,我要怎么在oracle这块定义呢?还有返回值,我想要以一条记录返回,这样我在java那边就能以一个对象来接收相应的字段信息,可是目前有个问题,返回信息来了,字段名不知道怎么在oracle去定义。
2、以上的优化内存的思路正确吗?--这样直接传单号到存储函数去处理,我就不需要在java里面定义那么多的对象,不需要for循环那么多,然后做加减运算最后再保存了。