如何使用java重复和合并来自不同来源的数据库记录?

如何使用java重复和合并来自不同来源的数据库记录?,java,lucene,spring-batch,Java,Lucene,Spring Batch,我有两个来自不同数据库的表。我必须检索它们,删除两个表中的记录,并将剩余的记录存储到另一个表中 这两个表都有一个公共列,以确定它是否重复 目前,我们正在从两个表中检索记录,并使用java.util.set删除重复项,然后插入记录。如果记录的大小很小,这是好的,但我想找到更优化的解决方案,为巨大的记录 我想从两个表中对记录进行排序并进行重复数据消除。但在我将它们全部加载到内存并进行比较之前,这对大型记录是不起作用的。如果记录是巨大的,那是不可能的。如果我在1000秒内加载,可能会有一些记录在edg

我有两个来自不同数据库的表。我必须检索它们,删除两个表中的记录,并将剩余的记录存储到另一个表中

这两个表都有一个公共列,以确定它是否重复

目前,我们正在从两个表中检索记录,并使用java.util.set删除重复项,然后插入记录。如果记录的大小很小,这是好的,但我想找到更优化的解决方案,为巨大的记录

我想从两个表中对记录进行排序并进行重复数据消除。但在我将它们全部加载到内存并进行比较之前,这对大型记录是不起作用的。如果记录是巨大的,那是不可能的。如果我在1000秒内加载,可能会有一些记录在edge case中丢失

这有必要吗?行吗


还有其他想法吗?

如果可以在DB查询中排序,那么每次只需要从每个数据集中加载一条记录到内存中。。。对,但我想在一小块中插入最后的数据。如果在一次快照中插入最终数据,合并排序将起作用。如果我想做小块,我相信这是不可能的