0

我在 Oracle 中有一张表:

  • 500,000,000 条记录
  • 和 109 个字段

我按范围对表进行了分区,如下所示:

create table AC.MY_DEAL
(
REFERENCE                  VARCHAR2(20) not null,
EXTERNAL_REFERENCE         VARCHAR2(20),
BOOK_DATE                  DATE not null,
blah blah blah...
)
partition by range (BOOK_DATE)(
partition DEAL_01 values less than (TO_DATE('01/31/2012','MM/DD/YYYY')), --January
partition DEAL_02 values less than (TO_DATE('02/31/2012','MM/DD/YYYY')), --February
blah blah blah... for other months
partition DEAL_12 values less than (TO_DATE('02/31/2012','MM/DD/YYYY')), --December
);
alter table AC.MY_DEAL add constraint PK_MY_DEAL primary key (REFERENCE); -- Primary Key
create index IX_MY_DEAL on AC.MY_DEAL (BOOK_DATE) local;                  -- Partition Key

现在我想编写一个 SPRING BATCH 代码来并行更新表的所有 12 个分区的一个字段。

谁能帮我找出如何与春季批处理并行更新这些分区?

我写了一个,但我认为它仍然会一个一个地更新分区 - 不是并行的。如果您想查看我的 Spring Batch 配置,我也可以添加它们。

提前致谢 :)

4

1 回答 1

0

我认为您最好的选择是查看适当版本的 Oracle 的并行 DML 文档:例如。http://docs.oracle.com/cd/B28359_01/server.111/b28313/usingpe.htm

通常,您需要在事务中启用并行 DML,并配置服务器的并行查询参数。

那里还有一个关于监控并行 DML 的有用部分。

于 2012-11-29T12:38:51.120 回答