IndexMaintenanceの機能
IndexMaintenanceは、IndexRecommendationsに保存された推奨インデックスを保守する際にINSERT、UPDATE、MERGE、またはDELETEリクエストによって発生するコストの見積もりを保存します。
IndexMaintenanceには、インデックスに保守コストが必要なSQLリクエストとインデックスの組み合わせごとに1つの行が含まれます。このテーブルに対して直接問合わせて、指定のワークロードについてインデックスを保守するための見積もりコストを検索できます。
IndexMaintenanceテーブルの定義
次のCREATE TABLE文は、IndexMaintenanceテーブルを定義しています。
CREATE TABLE IndexMaintenance ( WorkLoadID INTEGER NOT NULL, RecommendationID INTEGER NOT NULL, IndexNameTag VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, SQLStatementID INTEGER NOT NULL, SecondaryIndexID INTEGER DEFAULT NULL, BaseTableID BYTE(6) NOT NULL, BaseTableName VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, DatabaseName VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, IndexType INTEGER NOT NULL, IndexTypeText VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC, JINumber INTEGER DEFAULT NULL, MaintCosts FLOAT DEFAULT 0) PRIMARY INDEX (WorkloadID);
IndexMaintenanceの属性の定義
次のテーブルは、IndexMaintenanceテーブル属性を定義しています。
属性 | 説明 |
---|---|
WorkloadID |
|
RecommendationID | IndexRecommendationsテーブルでrecommendation IDを固有に識別する。 |
IndexNameTag | インデックス分析のユーザー指定の名前。 |
BaseTableID | 更新されている基本テーブルのID。 |
BaseTableName | BaseTableIDによって参照される基本テーブルの名前。 |
JINumber | IndexRecommendationsテーブル内で推奨される結合インデックスに対して割り当てられる順次番号。 この列が適用されるのは、IndexType列の値が有効な結合インデックス タイプに対応する場合だけです。 |
SQLStatementID | クエリー計画が獲得された際にシステムによって生成されるクエリーの固有識別子である、QueryテーブルにあるQueryIDの値。 |
SecondaryIndexID | IndexRecommendationsテーブル内の推奨されるセカンダリ インデックスのIndexID。 この列が適用されるのは、IndexType列の値が有効なセカンダリ インデックス タイプに対応する場合だけです。 |
IndexType | 推奨されたインデックスのタイプを示す番号。 それぞれの固有インデックス タイプは、独自のIndexTypeTextに関連付けられています。 以下に、有効なIndexTypeコードおよび対応するIndexTypeText文字列を示します。
|
IndexTypeText | IndexTypeのテキストによる表現。 以下に、有効なIndexTypeText文字列およびその意味を示します。
|
MaintCosts | 推奨されるインデックス構造を更新するためのコストの見積もり(ミリ秒)。 |