多くの場合、クエリの対象となる数値列を分割することによるパフォーマンス上のメリットがあるかどうかを調べることに興味があります。現在、私は約5,000万レコードを含むマテリアライズド・ビューを持っています。通常のBツリーインデックスを使用してこの数値列で検索すると、コストは7、クエリの結果は約0.8秒(非プライムキャッシュ)になります。その列にグローバル・ハッシュ・パーティション(64パーティションあり)を追加した後、コストは6になり、クエリ結果は約0.2秒になります(再びプライム・キャッシュなし)。グローバルにパーティション化されたインデックスは、パーティション化されていないインデックスよりも優れていますか(高速)ですか?
最初の反応は、分割されたインデックスがクエリのパフォーマンスを向上させたことです。しかし、これはちょうど偶然の可能性があり、検索されている値や気づいていない値に完全に依存する可能性があることを認識しています。だから私の質問です:大規模なテーブルの数値列にグローバルハッシュパーティションを追加することでパフォーマンス上のメリットがあるのか、スキャンするインデックスパーティションを決定するコストです。非インデックスパーティション?
これは、多くのOracleの質問と同様に、「これは依存している」と回答できると確信しています。私は各アプローチの利点を判断するためにどのような要素を考慮すべきかを学ぶことに興味があります。
ありがとうございます!