重複を避けるために、Oracle EDW のファクト テーブルに複合一意インデックスを保持することはベスト プラクティスですか? ETL データ読み込みのパフォーマンスに影響しますか? このトピックについてご意見をお聞かせください。ETL 負荷の SLA を取得するための他の代替方法は何ですか?
1 に答える
1
インデックスを持つテーブルに挿入するたびに、そのインデックスが更新され、IO が発生し、少し遅くなります。したがって、一意であるかどうかにかかわらず、インデックスを含むテーブルへのロードは少し遅くなります。そのインデックスを削除し、ロードしてから、再度作成できます。これにより、インデックスの断片化が減少し、通常は負荷が大きい場合に高速になります。
ファクト テーブルに一意のインデックスがあることに驚きました。通常、そこで必要とされる一意性はそれほど多くなく、一般に、データ ウェアハウスはデータを非正規化して複製します。
それはすべてあなたのケースに依存します。ETL を使用して不要な重複を回避できる場合は、インデックスを使用する代わりに使用してください。唯一の目的がデータの整合性/一貫性である場合は、このインデックスを作成しないでください。インデックスは巨大になるため、クエリに役立ちます。
于 2014-01-27T03:52:24.080 に答える