Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

28.4.20 INFORMATION_SCHEMA INNODB_INDEXES 表

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

有关相关使用信息和示例,请参阅 第 17.15.3 节,“InnoDB INFORMATION_SCHEMA 模式对象表”

INNODB_INDEXES 表具有以下列:

  • INDEX_ID

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

  • NAME

    索引的名称。大多数隐式创建的索引名称是一致的,但索引名称不一定是唯一的。例如: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 系统表空间。任何其他数字表示使用单独的 .ibd 文件在 文件每表 模式下创建的表。该标识符在 TRUNCATE TABLE 语句后保持不变。因为所有表的索引都在同一个表空间中,该值不一定是唯一的。

  • MERGE_THRESHOLD

    索引页的合并阈值。如果索引页中的数据量在删除或更新操作时低于 MERGE_THRESHOLD 值,InnoDB 将尝试将索引页与相邻索引页合并。默认阈值为 50%。有关更多信息,请参阅 第 17.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 语句来查看该表的列的更多信息,包括数据类型和默认值。