文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF(美国信纸) - 39.9 MB
PDF (A4) - 40.0 MB
手册页 (TGZ) - 258.5 KB
手册页 (Zip) - 365.5 KB
信息 (Gzip) - 4.0 MB
信息 (Zip) - 4.0 MB


MySQL 8.4 参考手册  /  ...  /  INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表

28.4.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表

INNODB_BUFFER_PAGE 表提供了 InnoDB 缓冲池 中每个 页面 的信息。

有关相关使用信息和示例,请参见 第 17.15.5 节,“InnoDB INFORMATION_SCHEMA 缓冲池表”

警告

查询 INNODB_BUFFER_PAGE 表可能会影响性能。除非您了解性能影响并已确定可以接受,否则请勿在生产系统上查询此表。为避免影响生产系统的性能,请重现要调查的问题并在测试实例上查询缓冲池统计信息。

INNODB_BUFFER_PAGE 表包含以下列:

  • POOL_ID

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

  • BLOCK_ID

    缓冲池块 ID。

  • SPACE

    表空间 ID;与 INNODB_TABLES.SPACE 相同的值。

  • PAGE_NUMBER

    页码。

  • PAGE_TYPE

    页面类型。下表显示了允许的值。

    表 28.4 INNODB_BUFFER_PAGE.PAGE_TYPE 值

    页面类型 说明
    ALLOCATED 新分配的页面
    BLOB 未压缩的 BLOB 页面
    COMPRESSED_BLOB2 后续压缩的 BLOB 页面
    COMPRESSED_BLOB 第一个压缩的 BLOB 页面
    ENCRYPTED_RTREE 加密的 R 树
    EXTENT_DESCRIPTOR 区描述符页面
    FILE_SPACE_HEADER 文件空间标头
    FIL_PAGE_TYPE_UNUSED 未使用
    IBUF_BITMAP 插入缓冲区位图
    IBUF_FREE_LIST 插入缓冲区空闲列表
    IBUF_INDEX 插入缓冲区索引
    INDEX B 树节点
    INODE 索引节点
    LOB_DATA 未压缩的 LOB 数据
    LOB_FIRST 未压缩 LOB 的第一页
    LOB_INDEX 未压缩的 LOB 索引
    PAGE_IO_COMPRESSED 压缩页面
    PAGE_IO_COMPRESSED_ENCRYPTED 压缩和加密的页面
    PAGE_IO_ENCRYPTED 加密页面
    RSEG_ARRAY 回滚段数组
    RTREE_INDEX R 树索引
    SDI_BLOB 未压缩的 SDI BLOB
    SDI_COMPRESSED_BLOB 压缩的 SDI BLOB
    SDI_INDEX SDI 索引
    SYSTEM 系统页面
    TRX_SYSTEM 事务系统数据
    UNDO_LOG 撤消日志页面
    UNKNOWN 未知
    ZLOB_DATA 压缩的 LOB 数据
    ZLOB_FIRST 压缩 LOB 的第一页
    ZLOB_FRAG 压缩的 LOB 片段
    ZLOB_FRAG_ENTRY 压缩的 LOB 片段索引
    ZLOB_INDEX 压缩的 LOB 索引

  • FLUSH_TYPE

    刷新类型。

  • FIX_COUNT

    缓冲池中使用此块的线程数。当为零时,该块可以被驱逐。

  • IS_HASHED

    是否已在此页面上构建哈希索引。

  • NEWEST_MODIFICATION

    最新修改的日志序列号。

  • OLDEST_MODIFICATION

    最旧修改的日志序列号。

  • ACCESS_TIME

    用于判断页面首次访问时间的抽象数字。

  • TABLE_NAME

    页面所属表的名称。此列仅适用于 PAGE_TYPE 值为 INDEX 的页面。如果服务器尚未访问该表,则该列为 NULL

  • INDEX_NAME

    页面所属索引的名称。这可以是聚簇索引或辅助索引的名称。此列仅适用于 PAGE_TYPE 值为 INDEX 的页面。

  • NUMBER_RECORDS

    页面内的记录数。

  • DATA_SIZE

    记录大小的总和。此列仅适用于 PAGE_TYPE 值为 INDEX 的页面。

  • COMPRESSED_SIZE

    压缩后的页面大小。对于未压缩的页面,则为 NULL

  • PAGE_STATE

    页面状态。下表显示了允许的值。

    表 28.5 INNODB_BUFFER_PAGE.PAGE_STATE 值

    页面状态 说明
    FILE_PAGE 已缓冲的文件页面
    MEMORY 包含主内存对象
    NOT_USED 在空闲列表中
    NULL 干净的压缩页面、刷新列表中的压缩页面、用作缓冲池监视哨兵的页面
    READY_FOR_USE 空闲页面
    REMOVE_HASH 在放入空闲列表之前应删除哈希索引

  • IO_FIX

    此页面是否正在等待任何 I/O:IO_NONE = 无正在等待的 I/O,IO_READ = 正在等待读取,IO_WRITE = 正在等待写入,IO_PIN = 不允许从刷新中重定位和移除。

  • IS_OLD

    块是否在 LRU 列表中的旧块子列表中。

  • FREE_PAGE_CLOCK

    块最后一次位于 LRU 列表头部时 freed_page_clock 计数器的值。 freed_page_clock 计数器跟踪从 LRU 列表末尾移除的块数。

  • IS_STALE

    页面是否过时。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE LIMIT 1\G
*************************** 1. row ***************************
            POOL_ID: 0
           BLOCK_ID: 0
              SPACE: 97
        PAGE_NUMBER: 2473
          PAGE_TYPE: INDEX
         FLUSH_TYPE: 1
          FIX_COUNT: 0
          IS_HASHED: YES
NEWEST_MODIFICATION: 733855581
OLDEST_MODIFICATION: 0
        ACCESS_TIME: 3378385672
         TABLE_NAME: `employees`.`salaries`
         INDEX_NAME: PRIMARY
     NUMBER_RECORDS: 468
          DATA_SIZE: 14976
    COMPRESSED_SIZE: 0
         PAGE_STATE: FILE_PAGE
             IO_FIX: IO_NONE
             IS_OLD: YES
    FREE_PAGE_CLOCK: 66
           IS_STALE: NO

备注

  • 此表主要用于专家级性能监控,或开发 MySQL 的性能相关扩展。

  • 您必须拥有 PROCESS 权限才能查询此表。

  • 使用 INFORMATION_SCHEMA COLUMNS 表或 SHOW COLUMNS 语句查看有关此表列的其他信息,包括数据类型和默认值。

  • 删除表、表行、分区或索引时,关联的页面会保留在缓冲池中,直到需要空间存储其他数据为止。 INNODB_BUFFER_PAGE 表报告有关这些页面的信息,直到它们从缓冲池中被逐出。有关 InnoDB 如何管理缓冲池数据的更多信息,请参阅第 17.5.1 节“缓冲池”