24.32.1 The INFORMATION_SCHEMA INNODB_BUFFER_PAGE Table
For related usage information and examples, see Section 14.16.5, “InnoDB INFORMATION_SCHEMA Buffer Pool Tables”.
INNODB_BUFFER_PAGE 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 instance.
INNODB_BUFFER_PAGE table has these columns:
The buffer pool ID. This is an identifier to distinguish between multiple buffer pool instances.
The buffer pool block ID.
The tablespace ID; the same value as
The page number.
The page type. The following table shows the permitted values.
Table 24.1 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. The following table shows the permitted values.
Table 24.2 INNODB_BUFFER_PAGE.PAGE_STATE Values
Page State Description
A buffered file page
Contains a main memory object
In the free list
Clean compressed pages, compressed pages in the flush list, pages used as buffer pool watch sentinels
A free page
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 14.5.1, “Buffer Pool”.