MySQL 8.0 リファレンスマニュアル


26.51.19 INFORMATION_SCHEMA INNODB_INDEXES テーブル

INNODB_INDEXES テーブルは、InnoDB インデックスに関するメタデータを提供します。

関連する使用法と使用例については、セクション15.15.3「InnoDB INFORMATION_SCHEMA スキーマオブジェクトテーブル」を参照してください。

INNODB_INDEXES テーブルには、次のカラムがあります:

  • INDEX_ID

    インデックスの識別子。 インデックス識別子は、インスタンス内のすべてのデータベースで一意です。

  • NAME

    インデックスの名前。 InnoDB によって暗黙的に作成されたほとんどのインデックスには一貫した名前が付けられていますが、インデックス名は必ずしも一意ではありません。 例: 主キーインデックスの場合は PRIMARY、主キーを表すインデックスが指定されていない場合は GEN_CLUST_INDEX、外部キー制約の場合は ID_INDFOR_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_SCHEMA COLUMNS テーブルまたは SHOW COLUMNS ステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。


関連キーワード:  テーブル, SCHEMA, INFORMATION, INNODB, インデックス, TABLE, InnoDB, INDEXES, COLUMNS, PAGE