MySQL 8.4 Release Notes
28.4.5 INFORMATION_SCHEMA INNODB_ CACHED_INDEXES 表
INNODB_CACHED_INDEXES 表报告了 InnoDB 缓冲池中每个索引的缓存页面数量。
有关使用信息和示例,请参见第17.15.5节,“InnoDB INFORMATION_ SCHEMA Buffer Pool Tables”。
INNODB_CACHED_INDEXES 表具有以下列:
-
SPACE_ID
表空间 ID。
-
INDEX_ID
索引标识符。索引标识符在实例中的所有数据库中都是唯一的。
-
N_CACHED_PAGES
自 MySQL 服务器最后启动以来,InnoDB 缓冲池中特定索引的总缓存页面数量。
以下查询返回 InnoDB 缓冲池中特定索引的缓存页面数量:
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
该查询返回每个索引在 InnoDB
缓冲池中缓存的索引页面数量,使用INNODB_INDEXES
和 INNODB_TABLES
表来解析每个索引的表名和索引名,以便对每个 INDEX_ID
值进行处理。
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;
-
您必须拥有
PROCESS
特权以查询该表。 -
使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句来查看该表的列信息,包括数据类型和默认值。