Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  The INFORMATION_SCHEMA INNODB_INDEXES Table

28.4.20 INFORMATION_SCHEMA INNODB_INDEXES 表

INNODB_INDEXES 表提供了关于 InnoDB 索引的元数据。

有关使用信息和示例,请参见第17.15.3节,“InnoDB INFORMATION_SCHEMA Schema Object Tables”

INNODB_INDEXES 表具有以下列:

  • INDEX_ID

    索引的标识符。索引标识符在实例中的所有数据库中都是唯一的。

  • NAME

    索引的名称。 InnoDB 创建的隐式索引大多数具有一致的名称,但索引名称不一定是唯一的。例如:PRIMARY为主键索引,GEN_CLUST_INDEX为表示主键的索引(如果未指定),ID_INDFOR_INDREF_IND为外键约束。

  • TABLE_ID

    表示与索引相关的表的标识符;与INNODB_TABLES.TABLE_ID相同的值。

  • TYPE

    一个从位级别信息派生的数字值,用于标识索引类型。0 = 非唯一次要索引;1 = 自动生成的聚簇索引(GEN_CLUST_INDEX);2 = 唯一非聚簇索引;3 = 聚簇索引;32 = 全文索引;64 = 空间索引;128 = 在虚拟生成列上的次要索引。

  • N_FIELDS

    索引键中的列数。对于GEN_CLUST_INDEX索引,这个值为0,因为索引使用了虚拟值,而不是实际表列。

  • PAGE_NO

    索引B-树的根页号。对于全文索引,PAGE_NO列是未使用的,并设置为-1(FIL_NULL),因为全文索引在多个B-树(辅助表)中进行布局。

  • SPACE

    索引所在的表空间标识符。0表示InnoDB系统表空间。任何其他数字都表示使用文件-per-表模式创建的单独.ibd文件。这个标识符在TRUNCATE TABLE语句执行后保持不变。由于一个表中的所有索引都位于该表的同一表空间中,这个值并不一定是唯一的。

  • MERGE_THRESHOLD

    索引页合并阈值。删除或更新操作使索引页中的数据量低于MERGE_THRESHOLD值时,InnoDB将尝试合并索引页与邻近索引页。默认阈值为50%。更多信息,请见第17.8.11节,“Configuring the Merge Threshold for Index Pages”

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语句来查看该表的列信息,包括数据类型和默认值。