21.29.2 The INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU Table

The INNODB_BUFFER_PAGE_LRU table holds
information about the pages in the InnoDBbuffer pool, in particular
how they are ordered in the LRU list that determines which pages
to evict from the buffer pool
when it becomes full.

Querying the INNODB_BUFFER_PAGE_LRU table can
introduce significant performance overhead. Do not query this
table on a production system unless you are aware of the
performance impact that your query may have, and have determined
it to be acceptable. To avoid impacting performance, reproduce
the issue you want to investigate on a test instance and query
the INNODB_BUFFER_PAGE_LRU table on the test
instance.

Notes

Use DESCRIBE or
SHOW COLUMNS to view additional
information about the columns of this table including data
types and default values.

Querying this table can require MySQL to allocate a large
block of contiguous memory, more than 64 bytes time the number
of active pages in the buffer pool. This allocation could
potentially cause an out-of-memory error, especially for
systems with multi-gigabyte buffer pools.

Querying this table requires MySQL to lock the data structure
representing the buffer pool while traversing the LRU list,
which can reduce concurrency, especially for systems with
multi-gigabyte buffer pools.

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_LRU table reports
information about these pages until they are evicted from the
buffer pool. For more information about how the
InnoDB manages buffer pool data, see
Section 14.6.3.1, “The InnoDB Buffer Pool”.