推奨インデックス・ステータスはインデックスの作成ステータスを反映し、対応するマテリアライズド・テーブルの作成時にインデックスが作成されるかどうかを制御します。
以下の値のいずれかとなります:
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'
);