0

OWB マッピングでデータをテーブルにステージングすることがよくあります。これは、データをテーブルに配置するためにマッピングの最後まで待機するよりもパフォーマンスが向上するためです。これらのステージング テーブルにいくつかのインデックスを配置して、JOINER の WHERE 句と一致させ、処理をさらに高速化しようとしました。しかし、私は自分の足を撃っていますか?これらの中間テーブルのインデックスはロードのパフォーマンスに悪影響を及ぼしますか?

4

2 に答える 2

2

それはあなたのシナリオに完全に依存します。

理論的には、インデックスを持つことは挿入に悪影響を及ぼします。しかし、トレードオフを考慮する必要があります。

例えば; ステージング テーブルが ETL サイクル中に 1 回だけ読み込まれ、複数回読み込まれ、選択/結合を改善するインデックスを作成した場合、インデックスから確実にメリットが得られます。

通常、ステージング テーブルは ETL サイクルごとにクリアされ、再ロードされます。この場合、インデックスは頻繁に再構築する必要があります。

また、インデックスの統計も検証する必要があります。

于 2012-12-04T08:01:36.953 に答える
0

まあ、これに関するルールはありません。テストする必要があります。作成したインデックスがマッピングで使用され、ソース テーブルのマッピングに関するヒントが定義されていることを確認してください。そのテーブルのINSERTは確かに遅くなりますが、SELECTはおそらくはるかに速くなり、良い最終結果が得られます. また、レコードのセットが小さい場合は、インデックスを付けずに USE_HASH のみを使用してください。

ミナ

于 2011-12-18T08:25:47.747 に答える