推奨インデックス・ステータスはインデックスの作成ステータスを反映し、対応するマテリアライズド・テーブルの作成時にインデックスが作成されるかどうかを制御します。
以下の値のいずれかとなります:
Value | Meaning |
|---|---|
| Automatically recommended index not yet reviewed by a user |
| Automatically recommended index accepted by a user |
| 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 |
|---|---|
| Indexes will be created with |
| Indexes will be created with |
| No indexes will be created |
| Index creation policy is retrieved from the |
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');