![]() 前へ |
![]() 次へ |
複数のターゲットを使用するマッピングの設計時には、最適化を行ってパフォーマンスを向上させることができます。マッピングについて正確な監査詳細が必要な場合は、最適化しなくてもかまいません。その場合、ターゲットごとに個別のINSERT文が生成されます。
複数ターゲットのマッピングを最適化するには、組み合された全ターゲットに対して1つのINSERT文が生成されるように、追加の手順を実行する必要があります。この場合、multi_table_insert SQL文が生成されます。このSQL文は、リリース9i以降のOracle Databaseサーバーで使用可能なパラレル問合せおよびパラレルDMLサービスを利用します。
複数のターゲットを使用するマッピングを最適化する手順は、次のとおりです。
Oracle9i以降のSQLを生成するように構成されているOracleターゲット・モジュールで、マッピングを定義します。
プロジェクト・ナビゲータでターゲット・モジュールを右クリックして「構成」を選択します。「配布システム・タイプ」および「PL/SQL生成モード」の下で、Oracle 9i以降を選択します。
マッピング・エディタで、単一のソース、スプリッタ演算子および複数のターゲットを使用するマッピングを設計します。
マッピングを最適化するには、ターゲットはビューやマテリアライズド・ビューではなく表であることが必要です。各ターゲット表の列数は999より少なくなるようにする必要があります。スプリッタ演算子とターゲットの間に、カーディナリティを変更する演算子を含めないでください。
プロジェクト・ナビゲータで、マッピングを選択してメニュー・バーから「設計」、「構成」を選択します。また、構成するマッピングを右クリックして「構成」を選択することもできます。
マッピングの「構成プロパティ」ダイアログ・ボックスが表示されます。
「ランタイム・パラメータ」を開き、「デフォルト・オペレーティング・モード」を「セット・ベース」に設定します。
「コード生成オプション」を開き、「最適化コード」を「True」に設定します。
このマッピングを実行して生成結果を表示すると、すべてのターゲットについてSELECTとINSERTの合計カウントが1つ戻されます。