Spec-Zone.ru › MySQL 9.2

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_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

    Номер последовательности журнала (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_SCHEMA COLUMNS или оператор SHOW COLUMNS, чтобы получить дополнительную информацию о столбцах этой таблицы, включая типы данных и значения по умолчанию.

  • Запрос к этой таблице может потребовать от MySQL выделения большого блока непрерывной памяти, большего, чем 64 байта умноженные на количество активных страниц в буферном пуле. Это выделение потенциально может вызвать ошибку «недостаточно памяти», особенно для систем с буферными пулами в несколько гигабайт.

  • Запрос к этой таблице требует от MySQL заблокировать структуру данных, представляющую пул буферов, во время обхода списка LRU, что может снизить конкурентность, особенно для систем с буферными пулами в несколько гигабайт.

  • При удалении таблиц, строк таблиц, партиций или индексов связанные страницы остаются в буферном пуле до тех пор, пока не потребуется место для других данных. Таблица INNODB_BUFFER_PAGE_LRU сообщает информацию об этих страницах до их удаления из буферного пула. Для получения дополнительной информации о том, как InnoDB управляет данными буферного пула, см. Раздел 17.5.1, «Buffer Pool».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/information-schema-innodb-buffer-page-lru-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API