このページは機械翻訳したものです。
INNODB_INDEXES テーブルは、InnoDB インデックスに関するメタデータを提供します。
関連する使用法と使用例については、セクション15.15.3「InnoDB INFORMATION_SCHEMA スキーマオブジェクトテーブル」を参照してください。
INNODB_INDEXES テーブルには、次のカラムがあります:
-
INDEX_IDインデックスの識別子。 インデックス識別子は、インスタンス内のすべてのデータベースで一意です。
-
NAMEインデックスの名前。
InnoDBによって暗黙的に作成されたほとんどのインデックスには一貫した名前が付けられていますが、インデックス名は必ずしも一意ではありません。 例: 主キーインデックスの場合はPRIMARY、主キーを表すインデックスが指定されていない場合はGEN_CLUST_INDEX、外部キー制約の場合はID_IND、FOR_INDおよびREF_IND。 -
TABLE_IDインデックスに関連付けられたテーブルを表す識別子 (
INNODB_TABLES.TABLE_IDと同じ値)。 -
TYPEインデックスタイプを識別するビットレベルの情報から導出される数値。0 = 一意でないセカンダリインデックス、1 = 自動的に生成されるクラスタインデックス (
GEN_CLUST_INDEX)、2 = 一意の非クラスタインデックス、3 = クラスタインデックス、32 = フルテキストインデックス、64 = 空間インデックス、128 = virtual generated column 上のセカンダリインデックス。 -
N_FIELDSインデックスキーのカラムの数。
GEN_CLUST_INDEXインデックスの場合、インデックスは実際のテーブルのカラムではなく人為的な値を使用して作成されるため、この値は 0 です。 -
PAGE_NOインデックス B ツリーのルートページ番号。 全文インデックスの場合、全文インデックスは複数の B ツリー (補助テーブル) に配置されるため、
PAGE_NOカラムは使用されず、-1 (FIL_NULL) に設定されます。 -
SPACEインデックスが存在するテーブルスペースの識別子。0 は
InnoDBシステムテーブルスペースを示します。 その他の数値は、file-per-table モードで別の.ibdファイルを使用して作成されたテーブルをテーブルします。 この識別子は、TRUNCATE TABLEステートメントのあとでも同じままです。 テーブルのすべてのインデックスが、テーブルと同じテーブルスペースに存在するので、この値は必ずしも一意にはなりません。 -
MERGE_THRESHOLDインデックスページのマージしきい値。 行が削除されたとき、または更新操作によって行が短縮されたときに、インデックスページのデータ量が
MERGE_THRESHOLD値を下回った場合、InnoDBはインデックスページを隣接するインデックスページとマージしようとします。 デフォルトのしきい値は 50% です。 詳細は、セクション15.8.11「インデックスページのマージしきい値の構成」を参照してください。
例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_INDEXES WHERE TABLE_ID = 34\G
*************************** 1. row ***************************
INDEX_ID: 39
NAME: GEN_CLUST_INDEX
TABLE_ID: 34
TYPE: 1
N_FIELDS: 0
PAGE_NO: 3
SPACE: 23
MERGE_THRESHOLD: 50
*************************** 2. row ***************************
INDEX_ID: 40
NAME: i1
TABLE_ID: 34
TYPE: 0
N_FIELDS: 1
PAGE_NO: 4
SPACE: 23
MERGE_THRESHOLD: 50
メモ
このテーブルをクエリーするには
PROCESS権限が必要です。INFORMATION_SCHEMACOLUMNSテーブルまたはSHOW COLUMNSステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。