24.4.3 Таблица INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU
Таблица INNODB_BUFFER_PAGE_LRU предоставляет информацию о страницах в InnoDB; в частности, о том, как они упорядочены в списке LRU, который определяет, какие страницы необходимо извлечь из буфера при его заполнении.
Таблица INNODB_BUFFER_PAGE_LRU содержит те же столбцы, что и таблица INNODB_BUFFER_PAGE, за исключением того, что таблица INNODB_BUFFER_PAGE_LRU содержит столбцы LRU_POSITION и COMPRESSED вместо столбцов BLOCK_ID и PAGE_STATE.
Для информации об использовании и примеров см. Раздел 14.16.5, «Таблицы буфера пула InnoDB INFORMATION_SCHEMA».
Запрос к таблице INNODB_BUFFER_PAGE_LRU может повлиять на производительность. Не запрашивайте эту таблицу в рабочей системе, если вы не знаете о влиянии на производительность и не считаете его приемлемым. Чтобы избежать влияния на производительность в рабочей системе, воспроизведите проблему, которую вы хотите исследовать, и запросите статистику пула буферов на тестовом экземпляре.
Таблица INNODB_BUFFER_PAGE_LRU содержит следующие столбцы:
-
POOL_IDИдентификатор пула буферов. Это идентификатор для различения нескольких экземпляров пула буферов.
-
LRU_POSITIONПозиция страницы в списке LRU.
-
SPACEИдентификатор табличного пространства; то же значение, что и
INNODB_SYS_TABLES.SPACE. -
PAGE_NUMBERНомер страницы.
-
PAGE_TYPEТип страницы. Следующая таблица показывает допустимые значения.
Таблица 24.6 Значения INNODB_BUFFER_PAGE_LRU.PAGE_TYPE
Таблица 24.6 Значения INNODB_BUFFER_PAGE_LRU.PAGE_TYPE Тип страницы Описание ALLOCATEDНедавно выделенная страница BLOBСтраница нескомпрессированных BLOB COMPRESSED_BLOB2Последующая сжатая страница BLOB COMPRESSED_BLOBПервая сжатая страница BLOB EXTENT_DESCRIPTORСтраница описателя расширения FILE_SPACE_HEADERЗаголовок файлового пространства IBUF_BITMAPРастровый бит буфера вставки IBUF_FREE_LISTСписок свободных мест буфера вставки IBUF_INDEXИндекс буфера вставки INDEXУзел B-дерева INODEУзел индекса RTREE_INDEXИндекс R-дерева SYSTEMСистемная страница TRX_SYSTEMДанные системной транзакции UNDO_LOGСтраница журнала отката UNKNOWNНеизвестно
-
FLUSH_TYPEТип очистки.
-
FIX_COUNTКоличество потоков, использующих этот блок в пуле буферов. При нулевом значении блок может быть удален.
-
IS_HASHEDНаличие построенного хэш-индекса на этой странице.
-
NEWEST_MODIFICATIONНомер последовательности журнала самого последнего изменения.
-
OLDEST_MODIFICATIONНомер последовательности журнала самого старого изменения.
-
ACCESS_TIMEАбстрактное число, используемое для определения времени первого доступа к странице.
-
TABLE_NAMEНазвание таблицы, к которой принадлежит страница. Этот столбец применим только к страницам со значением
PAGE_TYPEравнымINDEX. -
INDEX_NAMEНазвание индекса, к которому принадлежит страница. Это может быть имя кластеризованного индекса или вспомогательного индекса. Этот столбец применим только к страницам со значением
PAGE_TYPEравнымINDEX. -
NUMBER_RECORDSКоличество записей на странице.
-
DATA_SIZEСумма размеров записей. Этот столбец применим только к страницам со значением
PAGE_TYPEравнымINDEX. -
COMPRESSED_SIZEРазмер сжатой страницы.
NULLдля несжатых страниц. -
COMPRESSEDСжата ли страница.
-
IO_FIXЕсть ли ожидаемые операции ввода-вывода для этой страницы:
IO_NONE= нет ожидаемых операций ввода-вывода,IO_READ= ожидается чтение,IO_WRITE= ожидается запись. -
IS_OLDПринадлежит ли блок подсписку старых блоков в списке LRU.
-
FREE_PAGE_CLOCKЗначение счётчика
freed_page_clock, когда блок был последним помещён в начало списка LRU. Счётчикfreed_page_clockотслеживает количество блоков, удалённых из конца списка LRU.
Пример
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU LIMIT 1\G
*************************** 1. row ***************************
POOL_ID: 0
LRU_POSITION: 0
SPACE: 97
PAGE_NUMBER: 1984
PAGE_TYPE: INDEX
FLUSH_TYPE: 1
FIX_COUNT: 0
IS_HASHED: YES
NEWEST_MODIFICATION: 719490396
OLDEST_MODIFICATION: 0
ACCESS_TIME: 3378383796
TABLE_NAME: `employees`.`salaries`
INDEX_NAME: PRIMARY
NUMBER_RECORDS: 468
DATA_SIZE: 14976
COMPRESSED_SIZE: 0
COMPRESSED: NO
IO_FIX: IO_NONE
IS_OLD: YES
FREE_PAGE_CLOCK: 0
Примечания
Эта таблица полезна в первую очередь для мониторинга производительности на экспертном уровне или при разработке расширений MySQL, связанных с производительностью.
Для запроса к этой таблице необходимо иметь привилегию
PROCESS.Используйте таблицу
INFORMATION_SCHEMACOLUMNSили операторSHOW COLUMNSдля просмотра дополнительной информации о столбцах этой таблицы, включая типы данных и значения по умолчанию.Запрос к этой таблице может потребовать от MySQL выделения большого блока непрерывной памяти, большего, чем 64 байта, умноженного на количество активных страниц в пуле буферов. Это выделение может потенциально привести к ошибке недостатка памяти, особенно для систем с пулами буферов в несколько гигабайт.
Запрос к этой таблице требует от MySQL заблокировать структуру данных, представляющую пул буферов, во время обхода списка LRU, что может снизить конкурентность, особенно для систем с пулами буферов в несколько гигабайт.
При удалении таблиц, строк таблиц, разделов или индексов связанные страницы остаются в пуле буферов до тех пор, пока не потребуется место для других данных. Таблица
INNODB_BUFFER_PAGE_LRUсообщает информацию об этих страницах до их изгнания из пула буферов. Для получения дополнительной информации о том, какInnoDBуправляет данными пула буферов, см. Раздел 14.5.1, «Пул буферов».
© 2025 Oracle
Licensed under the GPLv2 License.