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

次に、テーブルの12個のパーティションすべての1つのフィールドを並行して更新するSPRINGBATCHコードを記述します。

SpringBatchと並行してこれらのパーティションを更新する方法を誰かが見つけるのを手伝ってもらえますか?

私は1つ書きましたが、それでもパーティションを1つずつ更新すると思います-並列ではありません。Spring Batchの設定を確認したい場合は、それらを追加することもできます。

前もって感謝します :)

4

1 に答える 1

0

ここでの最良の選択は、適切なバージョンの Oracle の Parallel DML ドキュメントを確認することだと思います。http://docs.oracle.com/cd/B28359_01/server.111/b28313/usingpe.htm

一般に、トランザクションで並列 DML を有効にし、サーバーの並列クエリ パラメータを構成する必要があります。

並列 DML の監視に関する便利なセクションもあります。

于 2012-11-29T12:38:51.120 に答える