クエリのターゲットとなることが多い数値列をパーティション化することでパフォーマンスが向上するかどうかを知りたいと思います。現在、約5,000万件のレコードを含むマテリアライズドビューがあります。通常のbツリーインデックスを使用してこの数値列で検索すると、7のコストが発生し、クエリ結果は約0.8秒で取得されます(プライミングされていないキャッシュを使用)。その列にグローバルハッシュパーティション(64パーティション)を追加した後、6のコストが発生し、クエリ結果は約0.2秒で完了します(これもプライミングされていないキャッシュを使用)。
私の最初の反応は、パーティションインデックスによってクエリのパフォーマンスが向上したことです。ただし、これは単なる偶然であり、検索対象の値、または私が知らない他の値に完全に依存している可能性があることを認識しています。だから私の質問は次のとおりです:大きなテーブルの数値列にグローバルハッシュパーティションを追加することにはパフォーマンス上の利点がありますか、それともスキャンするインデックスパーティションを決定するコストが、インデックス付けされていないパーティション?
これは、多くのOracleの質問と同様に、「状況によって異なります」で答えられると確信しています。:)私は各アプローチの利点を決定するために考慮すべき要素を学ぶことに興味があります。
ありがとう!