# 26.4.2 信息_SCHEMA INNODB_缓冲_页表
这INNODB_BUFFER_PAGE
表提供有关每个页在里面InnoDB
缓冲池.
有关相关使用信息和示例,请参阅第 15.15.5 节,“InnoDB 信息_SCHEMA 缓冲池表”.
警告
查询INNODB_BUFFER_PAGE
表会影响性能。不要在生产系统上查询此表,除非您知道性能影响并确定它是可以接受的。为避免影响生产系统的性能,请重现您要调查的问题并在测试实例上查询缓冲池统计信息。
这INNODB_BUFFER_PAGE
表有这些列:
POOL_ID
缓冲池 ID。这是区分多个缓冲池实例的标识符。
BLOCK_ID
缓冲池块 ID。
空间
表空间 ID;相同的值
INNODB_TABLES.SPACE
.PAGE_NUMBER
页码。
PAGE_TYPE
页面类型。下表显示了允许的值。
表 26.4 INNODB_缓冲_PAGE.PAGE_类型值
页面类型 描述 已分配
新分配的页面 斑点
未压缩的 BLOB 页面 COMPRESSED_BLOB2
随后的comp BLOB页面 COMPRESSED_BLOB
第一个压缩的 BLOB 页面 ENCRYPTED_RTREE
加密 R 树 EXTENT_DESCRIPTOR
范围描述符页面 FILE_SPACE_HEADER
文件空间头 FIL_PAGE_TYPE_UNUSED
没用过 IBUF_BITMAP
插入缓冲区位图 IBUF_FREE_LIST
插入缓冲区空闲列表 IBUF_INDEX
插入缓冲区索引 指数
B树节点 节点
索引节点 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指数 系统
系统页面 TRX_SYSTEM
交易系统数据 UNDO_LOG
撤消日志页面 未知
未知 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_NAME
页面所属索引的名称。这可以是聚集索引或二级索引的名称。此列仅适用于具有
PAGE_TYPE
的价值指数
.NUMBER_RECORDS
页内的记录数。
数据大小
记录大小的总和。此列仅适用于具有
PAGE_TYPE
的价值指数
.COMPRESSED_SIZE
压缩页面大小。
空值
对于未压缩的页面。PAGE_STATE
页面状态。下表显示了允许的值。
表 26.5 INNODB_缓冲_PAGE.PAGE_状态值
页面状态 描述 FILE_PAGE
缓冲文件页面 记忆
包含一个主内存对象 未使用
在免费列表中 空值
清理压缩页面,刷新列表中的压缩页面,用作缓冲池监视哨兵的页面 准备启用
免费页面 REMOVE_HASH
在放入空闲列表之前应删除哈希索引 IO_FIX
此页面是否有任何 I/O 待处理:
IO_NONE
= 没有挂起的 I/O,IO_READ
= 待读,IO_WRITE
= 写挂起,IO_PIN
= 不允许搬迁和从冲洗中移除。老了
该块是否在 LRU 列表中旧块的子列表中。
FREE_PAGE_CLOCK
的价值
freed_page_clock
当块最后被放置在 LRU 列表的头部时计数器。这freed_page_clock
计数器跟踪从 LRU 列表末尾删除的块数。IS_STALE
页面是否过时。在 MySQL 8.0.24 中添加。
# 例子
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 开发与性能相关的扩展时。
你必须拥有
过程
查询此表的权限。当表、表行、分区或索引被删除时,关联的页面会保留在缓冲池中,直到其他数据需要空间为止。这
INNODB_BUFFER_PAGE
table 报告有关这些页面的信息,直到它们从缓冲池中逐出。有关如何InnoDB
管理缓冲池数据,请参阅第 15.5.1 节,“缓冲池”.