的INNODB_BUFFER_PAGE_LRU
表提供有关页的信息InnoDB
缓冲池;特别是它们在LRU列表中的排序方式,LRU列表决定了哪些页面驱逐从缓冲池中获取。
的INNODB_BUFFER_PAGE_LRU
表的列与INNODB_BUFFER_PAGE
表,除了INNODB_BUFFER_PAGE_LRU
表有LRU_POSITION
而且压缩
而不是列BLOCK_ID
而且PAGE_STATE
列。
有关相关用法信息和示例,请参见第14.16.5节," InnoDB信息模式缓冲池表".
查询INNODB_BUFFER_PAGE_LRU
表会影响性能。不要在生产系统上查询此表,除非您知道性能影响并确定它是可接受的。为了避免影响生产系统上的性能,请在测试实例上再现要研究和查询缓冲池统计信息的问题。
的INNODB_BUFFER_PAGE_LRU
表有这些列:
POOL_ID
缓冲池ID。这是一个标识符,用于区分多个缓冲池实例。
LRU_POSITION
页面在LRU列表中的位置。
空间
表空间ID;与
INNODB_SYS_TABLES。空间
.PAGE_NUMBER
页码。
PAGE_TYPE
页面类型。下表显示了允许的值。
表24.6 INNODB_BUFFER_PAGE_LRU。PAGE_TYPE值
页面类型 描述 分配
新分配的页面 团
未压缩的BLOB页面 COMPRESSED_BLOB2
后续的comp BLOB页面 COMPRESSED_BLOB
第一个压缩的BLOB页面 EXTENT_DESCRIPTOR
区段描述符页 FILE_SPACE_HEADER
文件空间头文件 IBUF_BITMAP
插入缓冲区位图 IBUF_FREE_LIST
插入缓冲区空闲列表 IBUF_INDEX
插入缓冲区索引 指数
b -树节点 索引节点
索引节点 RTREE_INDEX
r - tree索引 系统
系统页面 TRX_SYSTEM
交易系统数据 UNDO_LOG
撤销日志页面 未知的
未知的 FLUSH_TYPE
冲水式。
FIX_COUNT
缓冲池中使用此块的线程数。当为0时,块有资格被驱逐。
IS_HASHED
是否已在此页上构建散列索引。
NEWEST_MODIFICATION
最年轻修改的日志序列号。
OLDEST_MODIFICATION
最早修改的日志序列号。
ACCESS_TIME
用于判断该页的第一次访问时间的抽象数字。
TABLE_NAME
该页所属的表的名称。此列仅适用于具有
PAGE_TYPE
的价值指数
.INDEX_NAME
页面所属索引的名称。这可以是群集索引或辅助索引的名称。此列仅适用于具有
PAGE_TYPE
的价值指数
.NUMBER_RECORDS
页面内的记录数。
DATA_SIZE
记录大小的总和。此列仅适用于具有
PAGE_TYPE
的价值指数
.COMPRESSED_SIZE
压缩后的页面大小。
零
对于未压缩的页面。压缩
页面是否被压缩。
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列表末尾删除的块的数量。
例子
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开发与性能相关的扩展时非常有用。
你必须有
过程
查询该表的权限。查询这个表可能需要MySQL分配一个大的连续内存块,超过缓冲池中活动页面数量的64字节。这种分配可能会导致内存不足错误,特别是对于具有多个gb缓冲池的系统。
查询该表需要MySQL在遍历LRU列表时锁定表示缓冲池的数据结构,这可以减少并发性,特别是对于具有多个g缓冲池的系统。
当表、表行、分区或索引被删除时,关联的页将保留在缓冲池中,直到其他数据需要空间为止。的
INNODB_BUFFER_PAGE_LRU
表报告关于这些页面的信息,直到它们被从缓冲池中逐出。有关如何InnoDB
管理缓冲池数据,请参见第14.5.1节,“缓冲池”.