### 26.4.4 信息\_SCHEMA INNODB\_缓冲\_水池\_统计表

[](<>)

这[`INNODB_BUFFER_POOL_STATS`](information-schema-innodb-buffer-pool-stats-table.html)表提供了许多相同的缓冲池信息[`显示引擎 INNODB 状态`](show-engine.html)输出。许多相同的信息也可以使用`InnoDB`缓冲池[服务器状态变量](server-status-variables.html).

使缓冲池中的页面“年轻”或“不年轻”的想法是指在[子列表](glossary.html#glos_sublist)在缓冲池数据结构的头部和尾部。“年轻”的页面需要更长的时间才能从缓冲池中老化，而“不年轻”的页面则更接近于[驱逐](glossary.html#glos_eviction).

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

这[`INNODB_BUFFER_POOL_STATS`](information-schema-innodb-buffer-pool-stats-table.html)表有这些列：

-   `POOL_ID`

    缓冲池 ID。这是区分多个缓冲池实例的标识符。

-   `POOL_SIZE`

    这`InnoDB`缓冲池大小（以页面为单位）。

-   `FREE_BUFFERS`

    中的空闲页数`InnoDB`缓冲池。

-   `DATABASE_PAGES`

    中的页数`InnoDB`包含数据的缓冲池。这个数字包括脏页和干净页。

-   `OLD_DATABASE_PAGES`

    中的页数`老的`缓冲池子列表。

-   `MODIFIED_DATABASE_PAGES`

    修改（脏）数据库页的数量。

-   `PENDING_DECOMPRESS`

    待解压的页数。

-   `PENDING_READS`

    挂起的读取次数。

-   `PENDING_FLUSH_LRU`

    LRU 中待刷新的页面数。

-   `PENDING_FLUSH_LIST`

    刷新列表中等待刷新的页数。

-   `PAGES_MADE_YOUNG`

    变年轻的页数。

-   `PAGES_NOT_MADE_YOUNG`

    未年轻化的页数。

-   `PAGES_MADE_YOUNG_RATE`

    每秒年轻化的页面数（自上次打印输出/经过时间后年轻化的页面）。

-   `PAGES_MADE_NOT_YOUNG_RATE`

    每秒未生成的页面数（自上次打印输出/经过时间后未生成的页面）。

-   `NUMBER_PAGES_READ`

    阅读的页数。

-   `NUMBER_PAGES_CREATED`

    创建的页面数。

-   `NUMBER_PAGES_WRITTEN`

    写入的页数。

-   `PAGES_READ_RATE`

    每秒读取的页数（自上次打印输出后读取的页数/经过的时间）。

-   `PAGES_CREATE_RATE`

    每秒创建的页数（自上次打印输出以来创建的页数/经过的时间）。

-   `PAGES_WRITTEN_RATE`

    每秒写入的页数（自上次打印输出以来写入的页数/经过的时间）。

-   `NUMBER_PAGES_GET`

    逻辑读取请求的数量。

-   `命中率`

    缓冲池命中率。

-   `YOUNG_MAKE_PER_THOUSAND_GETS`

    每千人获得的年轻页面数。

-   `NOT_YOUNG_MAKE_PER_THOUSAND_GETS`

    每千人中未年轻化的页面数。

-   `NUMBER_PAGES_READ_AHEAD`

    预读的页数。

-   `NUMBER_READ_AHEAD_EVICTED`

    读入的页数`InnoDB`由预读后台线程执行的缓冲池，这些线程随后在未被查询访问的情况下被逐出。

-   `READ_AHEAD_RATE`

    每秒的预读率（自上次打印输出后预读的页数/经过的时间）。

-   `READ_AHEAD_EVICTED_RATE`

    每秒未访问而被逐出的预读页数（自上次打印输出/经过时间后未访问的预读页数）。

-   `LRU_IO_TOTAL`

    总 LRU I/O。

-   `LRU_IO_CURRENT`

    当前间隔的 LRU I/O。

-   `解压缩_TOTAL`

    解压的总页数。

-   `UNCOMPRESS_CURRENT`

    当前时间间隔内解压的页数。

#### 例子

```
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS\G
*************************** 1. row ***************************
                         POOL_ID: 0
                       POOL_SIZE: 8192
                    FREE_BUFFERS: 1
                  DATABASE_PAGES: 8085
              OLD_DATABASE_PAGES: 2964
         MODIFIED_DATABASE_PAGES: 0
              PENDING_DECOMPRESS: 0
                   PENDING_READS: 0
               PENDING_FLUSH_LRU: 0
              PENDING_FLUSH_LIST: 0
                PAGES_MADE_YOUNG: 22821
            PAGES_NOT_MADE_YOUNG: 3544303
           PAGES_MADE_YOUNG_RATE: 357.62602199870594
       PAGES_MADE_NOT_YOUNG_RATE: 0
               NUMBER_PAGES_READ: 2389
            NUMBER_PAGES_CREATED: 12385
            NUMBER_PAGES_WRITTEN: 13111
                 PAGES_READ_RATE: 0
               PAGES_CREATE_RATE: 0
              PAGES_WRITTEN_RATE: 0
                NUMBER_PAGES_GET: 33322210
                        HIT_RATE: 1000
    YOUNG_MAKE_PER_THOUSAND_GETS: 18
NOT_YOUNG_MAKE_PER_THOUSAND_GETS: 0
         NUMBER_PAGES_READ_AHEAD: 2024
       NUMBER_READ_AHEAD_EVICTED: 0
                 READ_AHEAD_RATE: 0
         READ_AHEAD_EVICTED_RATE: 0
                    LRU_IO_TOTAL: 0
                  LRU_IO_CURRENT: 0
                UNCOMPRESS_TOTAL: 0
              UNCOMPRESS_CURRENT: 0
```

#### 笔记

-   此表主要用于专家级性能监控，或在为 MySQL 开发与性能相关的扩展时。

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

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