我尝试从一个数据库中的连接3大表 A,B,C 中加载大数据,然后将结果集传递给编写器并将它们写入另一个数据库(差异服务器中的2个数据库)时,我遇到了Spring Batch的问题 . 它们之间的关系:

A inner join B on A.a = B.b

B inner join C on B.d = C.c

我想分区表A并使用多个线程运行它们以提高性能 .

但是表A只有一个复合键 (a,i,j) 并且没有任何标记字段,它们不是数字 .

那么如何通过复合键对A进行分区呢?我的实施方法是正确的吗?

Table A has 4m records.
Table B has 29m.
Table C has 3m.

注意:如果我没有分区表,我在使用整个数据运行时会得到错误的java堆空间 . 那么Spring Batch如何处理大数据呢?