The INNODB_CACHED_INDEXES table
reports the number of index pages cached in the
InnoDB buffer pool for each index.
For related usage information and examples, see InnoDB INFORMATION_SCHEMA Buffer Pool Tables.
The INNODB_CACHED_INDEXES table has
these columns:
SPACE_IDThe tablespace ID.
INDEX_IDAn identifier for the index. Index identifiers are unique across all the databases in an instance.
N_CACHED_PAGESThe total number of index pages cached in the
InnoDBbuffer pool for a specific index since MySQL Server last started.
Examples
This query returns the number of index pages cached in the
InnoDB buffer pool for a specific index:
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CACHED_INDEXES WHERE INDEX_ID=65\G
*************************** 1. row ***************************
SPACE_ID: 4294967294
INDEX_ID: 65
N_CACHED_PAGES: 45
This query returns the number of index pages cached in the
InnoDB buffer pool for each index, using the
INNODB_INDEXES and
INNODB_TABLES tables to resolve the
table name and index name for each INDEX_ID
value.
SELECT
tables.NAME AS table_name,
indexes.NAME AS index_name,
cached.N_CACHED_PAGES AS n_cached_pages
FROM
INFORMATION_SCHEMA.INNODB_CACHED_INDEXES AS cached,
INFORMATION_SCHEMA.INNODB_INDEXES AS indexes,
INFORMATION_SCHEMA.INNODB_TABLES AS tables
WHERE
cached.INDEX_ID = indexes.INDEX_ID
AND indexes.TABLE_ID = tables.TABLE_ID;
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.