通过Spring Batch并行更新Oracle中的分区表

时间:2012-11-29 12:06:59

标签: sql oracle plsql spring-batch

我在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批处理并行更新这些分区?

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

提前致谢:)

1 个答案:

答案 0 :(得分:0)

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

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

还有一个关于监视并行DML的有用部分。