推奨インデックス・ステータスはインデックスの作成ステータスを反映し、対応するマテリアライズド・テーブルの作成時にインデックスが作成されるかどうかを制御します。

以下の値のいずれかとなります:

Value

Meaning

NEW

Automatically recommended index not yet reviewed by a user

ACCEPTED

Automatically recommended index accepted by a user

REJECTED

Automatically recommended index rejected by a user

SYSADMIN.RecommendedIndexesテーブルの statusフィールドをチェックすることで、インデックスのstatusを取得できます。以下の手順で設定できます:

CREATE FOREIGN PROCEDURE setIndexStatus(IN indexId biginteger NOT NULL, IN indexStatus string NOT NULL)

インデックスの状態を正しく管理するために、インデックス・ステータス・ポリシー値があります。Materializedテーブルが実際にMaterializedされる時(つまり、新しいステージが作成される時)、これらの値はテーブル・インスタンスに対してどのインデックスが実際に作成されるかを制御します。

Value

Meaning

NEW_ACCEPTED

Indexes will be created with NEW and ACCEPTED status values only

ACCEPTED

Indexes will be created with ACCEPTED status value only

NONE

No indexes will be created

DEFAULT

Index creation policy is retrieved from the INDEX_CREATION_POLICY global option

Please note that values are case-sensitive.

 次のプロシージャを使用して、推奨されるOptimization に の個々のポリシー値を割り当てることができます:

CREATE FOREIGN PROCEDURE setRecOptAllowIndexCreationByStatus(IN recOptId biginteger NOT NULL, IN allowIndexCreationByStatus string NOT NULL)

値を変えた例です:

1. ACCEPTED

CALL SYSADMIN.setRecOptAllowIndexCreationByStatus(1, 'ACCEPTED') ;

2. NEW_ACCEPTED

CALL SYSADMIN.setRecOptAllowIndexCreationByStatus(1, 'NEW_ACCEPTED');

現在設定されている値を知るには、 RecommendedOptimizations.allowIndexCreationByStatusフィールドをチェックできます:

SELECT allowIndexCreationByStatus FROM SYSADMIN.RecommendedOptimizations ;

 createOptimizationJob()を使用して Optimization ジョブを作成する場合、indexCreationByStatusパラメータを設定して、ジョブの個別のポリシー値を定義できます。デフォルト値は、対応する最適化の allowIndexCreationByStatus フィールドの値です。 

現在設定されている値を調べるには、ジョブ実行記録の ScheduleJobs.indexCreationByStatus フィールドまたは ScheduleJobRun.indexCreationByStatus を確認します。

SELECT allowIndexCreationByStatus FROM SYSADMIN.ScheduleJobRun ;
 
SELECT allowIndexCreationByStatus FROM SYSADMIN.ScheduleJobs ;

GLOBALオプションを取得するには、次の手順を使用します:

SELECT * FROM (call SYSADMIN.getDefaultOptionValue('INDEX_CREATION_POLICY')) a

そして、グローバルオプションを設定するには、この手順:

CALL SYSADMIN.setDefaultOptionValue('INDEX_CREATION_POLICY', 'ACCEPTED');