### 26.4.20 信息\_SCHEMA INNODB\_索引表

[](<>)

这[`INNODB_INDEXES`](information-schema-innodb-indexes-table.html)表提供有关的元数据`InnoDB`索引。

有关相关使用信息和示例，请参阅[第 15.15.3 节，“InnoDB 信息\_SCHEMA 模式对象表”](innodb-information-schema-system-tables.html).

这[`INNODB_INDEXES`](information-schema-innodb-indexes-table.html)表有这些列：

-   `INDEX_ID`

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

-   `姓名`

    索引的名称。大多数索引由隐式创建`InnoDB`具有一致的名称，但索引名称不一定是唯一的。例子：`基本的`对于主键索引，`GEN_CLUST_INDEX`对于未指定主键时表示主键的索引，以及`ID_IND`,`FOR_IND`， 和`REF_IND`对于外键约束。

-   `TABLE_ID`

    表示与索引关联的表的标识符；相同的值`INNODB_TABLES.TABLE_ID`.

-   `类型`

    从标识索引类型的位级信息派生的数值。0 = 非唯一二级索引；1 = 自动生成的聚集索引 (`GEN_CLUST_INDEX`);2 = 唯一非聚集索引；3 = 聚集索引；32 = 全文索引；64 = 空间索引；128 = a 上的二级索引[虚拟生成列](glossary.html#glos_virtual_generated_column).

-   `N_FIELDS`

    索引键中的列数。为了`GEN_CLUST_INDEX`索引，该值为 0，因为索引是使用人工值而不是真实表列创建的。

-   `PAGE_NO`

    索引 B 树的根页码。对于全文索引，`PAGE_NO`列未使用并设置为 -1 (`FIL_NULL`) 因为全文索引被布置在几个 B 树（辅助表）中。

-   `空间`

    索引所在的表空间的标识符。0 表示`InnoDB` [系统表空间](glossary.html#glos_system_tablespace).任何其他数字表示使用单独的表创建的表`.ibd`文件在[每表文件](glossary.html#glos_file_per_table)模式。此标识符在 a 之后保持不变[`截断表`](truncate-table.html)陈述。因为一个表的所有索引都与该表位于同一个表空间中，所以这个值不一定是唯一的。

-   `MERGE_THRESHOLD`

    索引页的合并阈值。如果索引页中的数据量低于[`MERGE_THRESHOLD`](index-page-merge-threshold.html)删除行或更新操作缩短行时的值，`InnoDB`尝试将索引页与相邻的索引页合并。默认阈值为 50%。有关详细信息，请参阅[第 15.8.11 节，“为索引页面配置合并阈值”](index-page-merge-threshold.html).

#### 例子

```
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
```

#### 笔记

-   你必须拥有[`过程`](privileges-provided.html#priv_process)查询此表的权限。

-   使用`INFORMATION_SCHEMA` [`列`](information-schema-columns-table.html)表或[`显示列`](show-columns.html)语句以查看有关此表的列的其他信息，包括数据类型和默认值。
