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_IDThe buffer pool ID. This is an identifier to distinguish between multiple buffer pool instances.
BLOCK_IDThe buffer pool block ID.
SPACEThe tablespace ID; the same value as
INNODB_TABLES.SPACE.PAGE_NUMBERThe page number.
PAGE_TYPEThe page type. The following table shows the permitted values.
Table 28.4 INNODB_BUFFER_PAGE.PAGE_TYPE Values
Page Type Description ALLOCATEDFreshly allocated page BLOBUncompressed BLOB page COMPRESSED_BLOB2Subsequent comp BLOB page COMPRESSED_BLOBFirst compressed BLOB page ENCRYPTED_RTREEEncrypted R-tree EXTENT_DESCRIPTORExtent descriptor page FILE_SPACE_HEADERFile space header FIL_PAGE_TYPE_UNUSEDUnused IBUF_BITMAPInsert buffer bitmap IBUF_FREE_LISTInsert buffer free list IBUF_INDEXInsert buffer index INDEXB-tree node INODEIndex node LOB_DATAUncompressed LOB data LOB_FIRSTFirst page of uncompressed LOB LOB_INDEXUncompressed LOB index PAGE_IO_COMPRESSEDCompressed page PAGE_IO_COMPRESSED_ENCRYPTEDCompressed and encrypted page PAGE_IO_ENCRYPTEDEncrypted page RSEG_ARRAYRollback segment array RTREE_INDEXR-tree index SDI_BLOBUncompressed SDI BLOB SDI_COMPRESSED_BLOBCompressed SDI BLOB SDI_INDEXSDI index SYSTEMSystem page TRX_SYSTEMTransaction system data UNDO_LOGUndo log page UNKNOWNUnknown ZLOB_DATACompressed LOB data ZLOB_FIRSTFirst page of compressed LOB ZLOB_FRAGCompressed LOB fragment ZLOB_FRAG_ENTRYCompressed LOB fragment index ZLOB_INDEXCompressed LOB index FLUSH_TYPEThe flush type.
FIX_COUNTThe number of threads using this block within the buffer pool. When zero, the block is eligible to be evicted.
IS_HASHEDWhether a hash index has been built on this page.
NEWEST_MODIFICATIONThe Log Sequence Number of the youngest modification.
OLDEST_MODIFICATIONThe Log Sequence Number of the oldest modification.
ACCESS_TIMEAn abstract number used to judge the first access time of the page.
TABLE_NAMEThe name of the table the page belongs to. This column is applicable only to pages with a
PAGE_TYPEvalue ofINDEX. The column isNULLif the server has not yet accessed the table.INDEX_NAMEThe 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_TYPEvalue ofINDEX.NUMBER_RECORDSThe number of records within the page.
DATA_SIZEThe sum of the sizes of the records. This column is applicable only to pages with a
PAGE_TYPEvalue ofINDEX.COMPRESSED_SIZEThe compressed page size.
NULLfor pages that are not compressed.PAGE_STATEThe page state. The following table shows the permitted values.
Table 28.5 INNODB_BUFFER_PAGE.PAGE_STATE Values
Page State Description FILE_PAGEA buffered file page MEMORYContains a main memory object NOT_USEDIn the free list NULLClean compressed pages, compressed pages in the flush list, pages used as buffer pool watch sentinels READY_FOR_USEA free page REMOVE_HASHHash index should be removed before placing in the free list IO_FIXWhether 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_OLDWhether the block is in the sublist of old blocks in the LRU list.
FREE_PAGE_CLOCKThe value of the
freed_page_clockcounter when the block was the last placed at the head of the LRU list. Thefreed_page_clockcounter tracks the number of blocks removed from the end of the LRU list.IS_STALEWhether 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
PROCESSprivilege to query this table.Use the
INFORMATION_SCHEMACOLUMNStable or theSHOW COLUMNSstatement 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_PAGEtable reports information about these pages until they are evicted from the buffer pool. For more information about how theInnoDBmanages buffer pool data, see Section 17.5.1, “Buffer Pool”.