28.4.3 Таблица INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU
Таблица INNODB_BUFFER_PAGE_LRU предоставляет информацию о страницах в InnoDB; в частности, о порядке их расположения в списке LRU, который определяет, какие страницы извлекать из кэша буфера при его переполнении.
Таблица INNODB_BUFFER_PAGE_LRU имеет те же столбцы, что и таблица INNODB_BUFFER_PAGE, за исключением нескольких. Вместо столбцов BLOCK_ID и PAGE_STATE она содержит столбцы LRU_POSITION и COMPRESSED, а также не включает столбец 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_BLOBНесжатый BLOB 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Номер последовательности журнала самого последнего изменения.
-
OLDEST_MODIFICATIONНомер последовательности журнала самого старого изменения.
-
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, «Пул буферов».
© 2025 Oracle
Licensed under the GPLv2 License.