24.32.3 The INFORMATION_SCHEMA INNODB_BUFFER_POOL_STATS Table
INNODB_BUFFER_POOL_STATS table provides much of the same buffer pool information provided in
SHOW ENGINE INNODB STATUS output. Much of the same information may also be obtained using
InnoDB buffer pool server status variables.
The idea of making pages in the buffer pool “young” or “not young” refers to transferring them between the sublists at the head and tail of the buffer pool data structure. Pages made “young” take longer to age out of the buffer pool, while pages made “not young” are moved much closer to the point of eviction.
For related usage information and examples, see Section 14.16.5, “InnoDB INFORMATION_SCHEMA Buffer Pool Tables”.
INNODB_BUFFER_POOL_STATS table has these columns:
The buffer pool ID. This is an identifier to distinguish between multiple buffer pool instances.
InnoDBbuffer pool size in pages.
The number of free pages in the
The number of pages in the
InnoDBbuffer pool containing data. This number includes both dirty and clean pages.
The number of pages in the
oldbuffer pool sublist.
The number of modified (dirty) database pages.
The number of pages pending decompression.
The number of pending reads.
The number of pages pending flush in the LRU.
The number of pages pending flush in the flush list.
The number of pages made young.
The number of pages not made young.
The number of pages made young per second (pages made young since the last printout / time elapsed).
The number of pages not made per second (pages not made young since the last printout / time elapsed).
The number of pages read.
The number of pages created.
The number of pages written.
The number of pages read per second (pages read since the last printout / time elapsed).
The number of pages created per second (pages created since the last printout / time elapsed).
The number of pages written per second (pages written since the last printout / time elapsed).
The number of logical read requests.
The buffer pool hit rate.
The number of pages made young per thousand gets.
The number of pages not made young per thousand gets.
The number of pages read ahead.
The number of pages read into the
InnoDBbuffer pool by the read-ahead background thread that were subsequently evicted without having been accessed by queries.
The read-ahead rate per second (pages read ahead since the last printout / time elapsed).
The number of read-ahead pages evicted without access per second (read-ahead pages not accessed since the last printout / time elapsed).
Total LRU I/O.
LRU I/O for the current interval.
The total number of pages decompressed.
The number of pages decompressed in the current interval.
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS\G *************************** 1. row *************************** POOL_ID: 0 POOL_SIZE: 8192 FREE_BUFFERS: 1 DATABASE_PAGES: 8085 OLD_DATABASE_PAGES: 2964 MODIFIED_DATABASE_PAGES: 0 PENDING_DECOMPRESS: 0 PENDING_READS: 0 PENDING_FLUSH_LRU: 0 PENDING_FLUSH_LIST: 0 PAGES_MADE_YOUNG: 22821 PAGES_NOT_MADE_YOUNG: 3544303 PAGES_MADE_YOUNG_RATE: 357.62602199870594 PAGES_MADE_NOT_YOUNG_RATE: 0 NUMBER_PAGES_READ: 2389 NUMBER_PAGES_CREATED: 12385 NUMBER_PAGES_WRITTEN: 13111 PAGES_READ_RATE: 0 PAGES_CREATE_RATE: 0 PAGES_WRITTEN_RATE: 0 NUMBER_PAGES_GET: 33322210 HIT_RATE: 1000 YOUNG_MAKE_PER_THOUSAND_GETS: 18 NOT_YOUNG_MAKE_PER_THOUSAND_GETS: 0 NUMBER_PAGES_READ_AHEAD: 2024 NUMBER_READ_AHEAD_EVICTED: 0 READ_AHEAD_RATE: 0 READ_AHEAD_EVICTED_RATE: 0 LRU_IO_TOTAL: 0 LRU_IO_CURRENT: 0 UNCOMPRESS_TOTAL: 0 UNCOMPRESS_CURRENT: 0
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.