For related usage information and examples, see Section 14.15.5, “InnoDB INFORMATION_SCHEMA Buffer Pool Tables”.
table can affect performance. Do not query this table on a
production system unless you are aware of the performance impact
and have determined it to be acceptable. To avoid impacting
performance on a production system, reproduce the issue you want
to investigate and query buffer pool statistics on a test
INNODB_BUFFER_PAGE table has
The buffer pool ID. This is an identifier to distinguish between multiple buffer pool instances.
The buffer pool block ID.
The tablespace ID. This is the same value as in
The page number.
The page type. The following table shows the permitted values.
Table 21.1 Mapping for Interpreting INNODB_BUFFER_PAGE PAGE_TYPE Values
Page Type Description
Freshly allocated page
Uncompressed BLOB page
Subsequent comp BLOB page
First compressed BLOB page
Extent descriptor page
File space header
Insert buffer bitmap
Insert buffer free list
Insert buffer index
Transaction system data
Undo log page
The flush type.
The number of threads using this block within the buffer pool. When zero, the block is eligible to be evicted.
Whether a hash index has been built on this page.
The Log Sequence Number of the youngest modification.
The Log Sequence Number of the oldest modification.
An abstract number used to judge the first access time of the page.
The name of the table the page belongs to. This column is applicable only to pages with a
The name of the index the page belongs to. This can be the name of a clustered index or a secondary index. This column is applicable only to pages with a
The number of records within the page.
The sum of the sizes of the records. This column is applicable only to pages with a
The compressed page size.
NULLfor pages that are not compressed.
The page state. Possible values include:
NULL(clean compressed pages, compressed pages in the flush list, pages used as buffer pool watch sentinels),
NOT_USED(in the free list),
READY_FOR_USE(a free page),
FILE_PAGE(a buffered file page),
MEMORY(contains a main memory object),
REMOVE_HASH(hash index should be removed before placing in the free list).
Whether any I/O is pending for this page:
IO_NONE= no pending I/O,
IO_READ= read pending,
IO_WRITE= write pending.
Whether the block is in the sublist of old blocks in the LRU list.
The value of the
freed_page_clockcounter when the block was the last placed at the head of the LRU list. The
freed_page_clockcounter tracks the number of blocks removed from the end of the LRU list.
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
This table is useful primarily for expert-level performance monitoring, or when developing performance-related extensions for MySQL.
You must have the
PROCESSprivilege to query this table.
When tables, table rows, partitions, or indexes are deleted, associated pages remain in the buffer pool until space is required for other data. The
INNODB_BUFFER_PAGEtable reports information about these pages until they are evicted from the buffer pool. For more information about how the
InnoDBmanages buffer pool data, see Section 18.104.22.168, “The InnoDB Buffer Pool”.