結合インデックスを作成すると、基本テーブル セットに対して定義されている列複数値圧縮は、データベースによって自動的に結合インデックス定義に転送されます(いくつかの例外はあります)。これは、親の基本テーブルの複数値圧縮特性を継承できないハッシュ インデックスの場合とは異なります。
実テーブルの列の圧縮の特性がその下の結合インデックス列に自動的に引き継がれる際には、以下のルールと制約が適用されます。基本テーブルの列複数値圧縮が結合インデックス定義に転送されるためには、これらのルールと制約のすべてが満たされる必要があります。
- 結合インデックス定義内で列に対して別名が指定されている場合であっても、基本テーブルの列複数値圧縮は結合インデックス定義に転送されます。
- 基本テーブルの列複数値圧縮が複数テーブル結合インデックスの定義に転送されるのは、結合インデックスのテーブル ヘッダー最大長を超える時点までと限られています。
その時点ではCREATE JOIN INDEXリクエストはアボートされませんが、基本テーブルから結合インデックス定義への列複数値圧縮の転送は停止します。
- 列が結合インデックスのプライマリ インデックスの構成要素となっている場合には、基本テーブルの列複数値圧縮は結合インデックス定義に転送ない。
- 列のいずれかがパーティション プライマリ インデックスまたは結合インデックスのパーティション式の構成要素となっている場合には、基本テーブルの列複数値圧縮は結合インデックス定義に転送ない。
- 列が集約関数またはEXTRACT関数の引数として指定されている場合、基本テーブルの列複数値圧縮は結合インデックス列に転送ない。
- 圧縮結合インデックスの列がないおよびcolumn_1インデックスに定義されたNUSIの構成要素である場合、基本テーブルの列複数値圧縮はその列に転送column_2。
- ALTER TABLEリクエストを使用して結合インデックスの構成要素でもある実テーブルの列の圧縮特性を変更すると、データベースは警告メッセージを返し、圧縮の変更を反映するために結合インデックスを再作成するように促されます。ALTER TABLE (テーブルの基本的なパラメータ)を参照してください。
- 列が結合インデックス定義内でORDER BY句の構成要素となっている場合には、基本テーブルの列複数値圧縮は結合インデックス定義に転送ない。