### 26.4.5 信息\_SCHEMA INNODB\_缓存\_索引表

[](<>)

这[`INNODB_CACHED_INDEXES`](information-schema-innodb-cached-indexes-table.html)表报告缓存在`InnoDB`每个索引的缓冲池。

有关相关使用信息和示例，请参阅[第 15.15.5 节，“InnoDB 信息\_SCHEMA 缓冲池表”](innodb-information-schema-buffer-pool-tables.html).

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

-   `SPACE_ID`

    表空间 ID。

-   `INDEX_ID`

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

-   `N_CACHED_PAGES`

    缓存中的索引页数`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`](information-schema-innodb-indexes-table.html)和[`INNODB_TABLES`](information-schema-innodb-tables-table.html)表来解析每个表的表名和索引名`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;
```

#### 笔记

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

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