The INNODB_BUFFER_PAGE
table provides information about each page in the InnoDB
buffer pool.
For related usage information and examples, see Section 17.15.5, “InnoDB INFORMATION_SCHEMA Buffer Pool Tables”.
Querying the 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.
The INNODB_BUFFER_PAGE
table has these columns:
-
POOL_ID
The buffer pool ID. This is an identifier to distinguish between multiple buffer pool instances.
-
BLOCK_ID
The buffer pool block ID.
-
SPACE
The tablespace ID; the same value as
INNODB_TABLES.SPACE
. -
PAGE_NUMBER
The page number.
-
PAGE_TYPE
The page type. The following table shows the permitted values.
Table 28.4 INNODB_BUFFER_PAGE.PAGE_TYPE Values
Page Type Description ALLOCATED
Freshly allocated page BLOB
Uncompressed BLOB page COMPRESSED_BLOB2
Subsequent comp BLOB page COMPRESSED_BLOB
First compressed BLOB page ENCRYPTED_RTREE
Encrypted R-tree EXTENT_DESCRIPTOR
Extent descriptor page FILE_SPACE_HEADER
File space header FIL_PAGE_TYPE_UNUSED
Unused IBUF_BITMAP
Insert buffer bitmap IBUF_FREE_LIST
Insert buffer free list IBUF_INDEX
Insert buffer index INDEX
B-tree node INODE
Index node LOB_DATA
Uncompressed LOB data LOB_FIRST
First page of uncompressed LOB LOB_INDEX
Uncompressed LOB index PAGE_IO_COMPRESSED
Compressed page PAGE_IO_COMPRESSED_ENCRYPTED
Compressed and encrypted page PAGE_IO_ENCRYPTED
Encrypted page RSEG_ARRAY
Rollback segment array RTREE_INDEX
R-tree index SDI_BLOB
Uncompressed SDI BLOB SDI_COMPRESSED_BLOB
Compressed SDI BLOB SDI_INDEX
SDI index SYSTEM
System page TRX_SYSTEM
Transaction system data UNDO_LOG
Undo log page UNKNOWN
Unknown ZLOB_DATA
Compressed LOB data ZLOB_FIRST
First page of compressed LOB ZLOB_FRAG
Compressed LOB fragment ZLOB_FRAG_ENTRY
Compressed LOB fragment index ZLOB_INDEX
Compressed LOB index -
FLUSH_TYPE
The flush type.
-
FIX_COUNT
The number of threads using this block within the buffer pool. When zero, the block is eligible to be evicted.
-
IS_HASHED
Whether a hash index has been built on this page.
-
NEWEST_MODIFICATION
The Log Sequence Number of the youngest modification.
-
OLDEST_MODIFICATION
The Log Sequence Number of the oldest modification.
-
ACCESS_TIME
An abstract number used to judge the first access time of the page.
-
TABLE_NAME
The name of the table the page belongs to. This column is applicable only to pages with a
PAGE_TYPE
value ofINDEX
. The column isNULL
if the server has not yet accessed the table. -
INDEX_NAME
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
PAGE_TYPE
value ofINDEX
. -
NUMBER_RECORDS
The number of records within the page.
-
DATA_SIZE
The sum of the sizes of the records. This column is applicable only to pages with a
PAGE_TYPE
value ofINDEX
. -
COMPRESSED_SIZE
The compressed page size.
NULL
for pages that are not compressed. -
PAGE_STATE
The page state. The following table shows the permitted values.
Table 28.5 INNODB_BUFFER_PAGE.PAGE_STATE Values
Page State Description FILE_PAGE
A buffered file page MEMORY
Contains a main memory object NOT_USED
In the free list NULL
Clean compressed pages, compressed pages in the flush list, pages used as buffer pool watch sentinels READY_FOR_USE
A free page REMOVE_HASH
Hash index should be removed before placing in the free list -
IO_FIX
Whether any I/O is pending for this page:
IO_NONE
= no pending I/O,IO_READ
= read pending,IO_WRITE
= write pending,IO_PIN
= relocation and removal from the flush not permitted. -
IS_OLD
Whether the block is in the sublist of old blocks in the LRU list.
-
FREE_PAGE_CLOCK
The value of the
freed_page_clock
counter when the block was the last placed at the head of the LRU list. Thefreed_page_clock
counter tracks the number of blocks removed from the end of the LRU list. -
IS_STALE
Whether the page is stale.
Example
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
Notes
-
This table is useful primarily for expert-level performance monitoring, or when developing performance-related extensions for MySQL.
-
You must have the
PROCESS
privilege to query this table. -
Use the
INFORMATION_SCHEMA
COLUMNS
table or theSHOW COLUMNS
statement to view additional information about the columns of this table, including data types and default values. -
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_PAGE
table reports information about these pages until they are evicted from the buffer pool. For more information about how theInnoDB
manages buffer pool data, see Section 17.5.1, “Buffer Pool”.