The INNODB_INDEXES table provides
metadata about InnoDB indexes.
For related usage information and examples, see Section 17.15.3, “InnoDB INFORMATION_SCHEMA Schema Object Tables”.
The INNODB_INDEXES table has these
columns:
INDEX_IDAn identifier for the index. Index identifiers are unique across all the databases in an instance.
NAMEThe name of the index. Most indexes created implicitly by
InnoDBhave consistent names but the index names are not necessarily unique. Examples:PRIMARYfor a primary key index,GEN_CLUST_INDEXfor the index representing a primary key when one is not specified, andID_IND,FOR_IND, andREF_INDfor foreign key constraints.TABLE_IDAn identifier representing the table associated with the index; the same value as
INNODB_TABLES.TABLE_ID.TYPEA numeric value derived from bit-level information that identifies the index type. 0 = nonunique secondary index; 1 = automatically generated clustered index (
GEN_CLUST_INDEX); 2 = unique nonclustered index; 3 = clustered index; 32 = full-text index; 64 = spatial index; 128 = secondary index on a virtual generated column.N_FIELDSThe number of columns in the index key. For
GEN_CLUST_INDEXindexes, this value is 0 because the index is created using an artificial value rather than a real table column.PAGE_NOThe root page number of the index B-tree. For full-text indexes, the
PAGE_NOcolumn is unused and set to -1 (FIL_NULL) because the full-text index is laid out in several B-trees (auxiliary tables).SPACEAn identifier for the tablespace where the index resides. 0 means the
InnoDBsystem tablespace. Any other number represents a table created with a separate.ibdfile in file-per-table mode. This identifier stays the same after aTRUNCATE TABLEstatement. Because all indexes for a table reside in the same tablespace as the table, this value is not necessarily unique.MERGE_THRESHOLDThe merge threshold value for index pages. If the amount of data in an index page falls below the
MERGE_THRESHOLDvalue when a row is deleted or when a row is shortened by an update operation,InnoDBattempts to merge the index page with the neighboring index page. The default threshold value is 50%. For more information, see Section 17.8.11, “Configuring the Merge Threshold for Index Pages”.
Example
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
Notes
You must have the
PROCESSprivilege to query this table.Use the
INFORMATION_SCHEMACOLUMNStable or theSHOW COLUMNSstatement to view additional information about the columns of this table, including data types and default values.