大規模な表のパラレルでの更新
DBMS_PARALLEL_EXECUTE
パッケージを使用すると、次の2つのステップで、大規模な表のデータをパラレルで増分更新できます。
- 表の行をグループ化して小さなチャンクに分けます。
- 必要な
UPDATE
文を並列でチャンクに適用し、1チャンクの処理が終了するたびにコミットします。
大量のデータを更新する場合は、常にこの方法をお薦めします。この方法には次のメリットがあります:
-
表全体のロックではなく、相対的に短い時間で一度に1セットの行のみをロックする。
-
操作全体が完了する前に問題が発生してもそれまでに処理した内容が失われない。
-
ロールバック用の領域の消費が削減されます。
-
パフォーマンスが向上します。
関連項目:
DBMS_PARALLEL_EXECUTE
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。