INNODB_BUFFER_PAGE_LRU表
该INNODB_BUFFER_PAGE_LRU
表提供有关InnoDB
缓冲池中页面的信息;特别是,它们是如何在决定哪些页面LRU列表下令逐出从缓冲池,当它变满。
该INNODB_BUFFER_PAGE_LRU
表与该表具有相同的列INNODB_BUFFER_PAGE
,除了该INNODB_BUFFER_PAGE_LRU
表具有LRU_POSITION
和COMPRESSED
列而不是BLOCK_ID
和PAGE_STATE
列。
有关相关用法信息和示例,请参见“ InnoDB INFORMATION_SCHEMA缓冲池表”。
警告查询
INNODB_BUFFER_PAGE_LRU
表可能会影响性能。除非您了解性能影响并确定可接受,否则不要在生产系统上查询此表。为避免影响生产系统的性能,请重现要调查的问题并在测试实例上查询缓冲池统计信息。
该INNODB_BUFFER_PAGE_LRU
表包含以下列:
POOL_ID
缓冲池ID。这是一个区分多个缓冲池实例的标识符。
LRU_POSITION
页面在LRU列表中的位置。
SPACE
表空间ID;与相同的值
INNODB_TABLES.SPACE
。PAGE_NUMBER
页码。
PAGE_TYPE
页面类型。下表显示了允许的值。
INNODB_BUFFER_PAGE_LRU.PAGE_TYPE值
页面类型 描述 ALLOCATED 刚分配的页面 BLOB 未压缩的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 插入缓冲区索引 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
。INDEX_NAME
页面所属索引的名称。这可以是聚集索引或辅助索引的名称。此列仅适用于
PAGE_TYPE
值为的页面INDEX
。NUMBER_RECORDS
页面内的记录数。
DATA_SIZE
记录大小的总和。此列仅适用于
PAGE_TYPE
值为的页面INDEX
。COMPRESSED_SIZE
压缩的页面大小。
NULL
用于未压缩的页面。COMPRESSED
页面是否被压缩。
IO_FIX
此页面是否有任何I / O待处理:
IO_NONE
=无待处理I / O,IO_READ
=读取待处理,IO_WRITE
=写入待处理。IS_OLD
该块是否在LRU列表中旧块的子列表中。
FREE_PAGE_CLOCK
freed_page_clock
块最后位于LRU列表开头时的计数器值。该freed_page_clock
计数器跟踪从LRU列表的末尾去除的块数。
例
mysql>SELECT *FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRULIMIT 1\G *************************** 1. row*************************** POOL_ID: 0 LRU_POSITION: 0 SPACE: 97 PAGE_NUMBER: 1984 PAGE_TYPE: INDEX FLUSH_TYPE: 1 FIX_COUNT: 0 IS_HASHED: YES NEWEST_MODIFICATION: 719490396 OLDEST_MODIFICATION: 0 ACCESS_TIME: 3378383796 TABLE_NAME: `employees`.`salaries` INDEX_NAME: PRIMARY NUMBER_RECORDS: 468 DATA_SIZE: 14976 COMPRESSED_SIZE: 0 COMPRESSED: NO IO_FIX: IO_NONE IS_OLD: YES FREE_PAGE_CLOCK: 0
注意
- 该表主要用于专家级的性能监控,或者在为MySQL开发与性能相关的扩展时有用。
- 您必须具有
PROCESS
查询此表的特权。 - 使用该
INFORMATION_SCHEMA
COLUMNS
表或该SHOW COLUMNS
语句参见有关该表的列的其他信息,包括数据类型和默认值。 - 查询该表可能需要MySQL分配较大的连续内存块,该内存块是缓冲池中活动页面数的64倍以上。这种分配可能会导致内存不足错误,尤其是对于具有数千兆字节缓冲池的系统。
- 查询该表需要MySQL在遍历LRU列表时锁定表示缓冲池的数据结构,这会减少并发性,尤其是对于具有数GB缓冲池的系统。
- 当删除表,表行,分区或索引时,关联页面将保留在缓冲池中,直到需要其他数据空间为止。该
INNODB_BUFFER_PAGE_LRU
表报告有关这些页面的信息,直到将它们从缓冲池中清除为止。有关如何InnoDB
管理缓冲池数据的更多信息,请参见“InnoDB缓冲池”。