INNODB_INDEXES表
该INNODB_INDEXES
表提供了有关InnoDB
索引的元数据。
有关相关用法信息和示例,请参见“ 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 =虚拟生成列上的二级索引。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%。有关更多信息,请参见“为索引页配置合并阈值”。
例
mysql>SELECT *FROM INFORMATION_SCHEMA.INNODB_INDEXESWHERE 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
语句参见有关该表的列的其他信息,包括数据类型和默认值。