我们现在正在开发一个在带有 db2 z/OS 10 的 websphere z/OS 8.5 上运行的系统。目前我们面临以下性能问题:
我们需要将记录从一张表复制到另一张表。对于超过 30mio 条目,此复制应在大约 15 分钟内完成。
我们现在有什么: - 两个表都是分区的(相同的分区列 x) - 使用 websphere 批处理在 java 中复制批处理。该批处理作业并行运行,每个并行子作业在一个分区上执行一次插入/选择(复制大约 3-5 个 mio 条目)。从数据点的角度来看,并行作业应该是完全分离的。
我们正在执行的 SQL 看起来像这样
Insert into targetTable (...) Select (...) from sourceTable Where partitionKey='xxx'.
我们观察到什么:插入/选择没有充分利用 db2 的插入性能: - 插入/选择:大约 8000 次插入/秒 - 通过 jdbc 批处理的普通插入:超过 50 000 次插入/秒
我们想问以下问题: - 为什么单次插入/选择的插入性能这么慢?我们需要做一些特殊的配置吗?- 在多个分区上并行工作是正确的方法吗?有什么选择吗?- 我们应该提交较小的插入/选择包吗?- db2 在插入/选择时在后台做什么
感谢你并致以真诚的问候