28.4.3 Таблица INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU
Таблица INNODB_BUFFER_PAGE_LRU предоставляет информацию о страницах в InnoDB; в частности, о том, как они упорядочены в списке LRU, который определяет, какие страницы необходимо выгрузить из буфера при его заполнении.
Таблица INNODB_BUFFER_PAGE_LRU имеет те же столбцы, что и таблица INNODB_BUFFER_PAGE, за несколькими исключениями. В ней содержатся столбцы LRU_POSITION и COMPRESSED вместо столбцов BLOCK_ID и PAGE_STATE, и отсутствует столбец IS_STALE.
Для получения связанной информации об использовании и примеров см. Раздел 17.15.5, «Таблицы пула буферов InnoDB INFORMATION_SCHEMA».
Запрос к таблице INNODB_BUFFER_PAGE_LRU может повлиять на производительность. Не запрашивайте эту таблицу в рабочей системе, если вы не осознаете влияния на производительность и не определили, что оно приемлемо. Чтобы избежать влияния на производительность в рабочей системе, воспроизведите проблему, которую вы хотите исследовать, и запросите статистику пула буфера в тестовой системе.
Таблица INNODB_BUFFER_PAGE_LRU содержит следующие столбцы:
-
POOL_IDИдентификатор пула буферов. Это идентификатор для различения нескольких экземпляров пула буферов.
-
LRU_POSITIONПозиция страницы в списке LRU.
-
SPACEИдентификатор табличного пространства; то же значение, что и
INNODB_TABLES.SPACE. -
PAGE_NUMBERНомер страницы.
-
PAGE_TYPEТип страницы. Следующая таблица демонстрирует допустимые значения.
Таблица 28.6 Значения INNODB_BUFFER_PAGE_LRU.PAGE_TYPE
Таблица 28.6 Значения INNODB_BUFFER_PAGE_LRU.PAGE_TYPE Тип страницы Описание ALLOCATEDНедавно выделенная страница BLOBСтраница BLOB без сжатия COMPRESSED_BLOB2Последующая страница сжатого BLOB COMPRESSED_BLOBПервая сжатая страница BLOB ENCRYPTED_RTREEЗашифрованный R-дерево EXTENT_DESCRIPTORСтраница дескриптора расширения FILE_SPACE_HEADERЗаголовок файлового пространства FIL_PAGE_TYPE_UNUSEDНе используется IBUF_BITMAPБитовая карта буфера вставки IBUF_FREE_LISTСписок свободных элементов буфера вставки IBUF_INDEXИндекс буфера вставки INDEXУзел B-дерева INODEУзел индекса LOB_DATAДанные LOB без сжатия LOB_FIRSTПервая страница данных LOB без сжатия LOB_INDEXИндекс LOB без сжатия PAGE_IO_COMPRESSEDСжатая страница PAGE_IO_COMPRESSED_ENCRYPTEDСжатая и зашифрованная страница PAGE_IO_ENCRYPTEDЗашифрованная страница RSEG_ARRAYМассив сегментов отката RTREE_INDEXИндекс R-дерева SDI_BLOBBLOB SDI без сжатия SDI_COMPRESSED_BLOBСжатый BLOB SDI SDI_INDEXИндекс SDI SYSTEMСистемная страница TRX_SYSTEMСистемные данные транзакции UNDO_LOGСтраница журнала отката UNKNOWNНеизвестно ZLOB_DATAСжатые данные LOB ZLOB_FIRSTПервая страница сжатых данных LOB ZLOB_FRAGФрагмент сжатых данных LOB ZLOB_FRAG_ENTRYИндекс фрагмента сжатых данных LOB ZLOB_INDEXИндекс сжатых данных LOB
-
FLUSH_TYPEТип сброса.
-
FIX_COUNTКоличество потоков, использующих этот блок в пределах пула буферов. При значении ноль блок пригоден для удаления.
-
IS_HASHEDНаличие хеш-индекса на этой странице.
-
NEWEST_MODIFICATIONНомер последовательности журнала (LSN) самого молодого изменения.
-
OLDEST_MODIFICATIONНомер последовательности журнала (LSN) самого старого изменения.
-
ACCESS_TIMEАбстрактное число, используемое для оценки времени первого доступа к странице.
-
TABLE_NAMEНазвание таблицы, к которой принадлежит страница. Этот столбец применим только к страницам со значением
PAGE_TYPE, равнымINDEX. Столбец имеет значениеNULL, если сервер еще не обратился к таблице. -
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управляет данными буферного пула, см. Раздел 17.5.1, «Buffer Pool».
© 2025 Oracle
Licensed under the GPLv2 License.