PPIテーブルに対するクエリーの結合条件を作成するときは、常に次の指針に従います。
- 可能であれば、プライマリ インデックス列セットおよびパーティション列セットでは、等価結合で結合条件を指定します。
この種類の結合条件は、効率的な行キー ベースのマージ結合を使用します。
- PPIテーブルのパーティション列を結合の別のテーブルに追加することを考慮します。
- プライマリ インデックス列セットに完全なパーティション列セットが含まれない場合、パーティション列セット上ではなく、プライマリ インデックス列セット上で等価結合を指定します。行パーティション排除後にはパーティションを少なくするほうが良く、残っているパーティションが少なければ少ないほど好ましいと言えます。
- 最適化ルーチンは、パーティションが少数の場合、スライディング ウィンドウ結合を指定することができます。そうでない場合、テーブルをスプールおよびソートする必要が生じることがあります。
- RANGE_Nを使用して、テーブルにより少ないパーティションを定義します。
- パーティション列で結合条件を指定すると、最適化ルーチンは、パーティション排除を使用して結合に含まれるパーティション数を減らす方向に機能します。
- 最適化ルーチンは、パーティションにデータが入っているかどうかは認識しないため、定義されたすべてのパーティションに行が入っていると想定します。
PARTITION統計情報は、最適化ルーチンが結合計画を見積もるのに役立ちますが、最適化ルーチンが選択する結合計画では、パーティションにデータが入っていない状態を想定できません。