Spec-Zone.ru › MariaDB

Схема информации таблиц INNODB_CMPMEM и INNODB_CMPMEM_RESET

Таблицы INNODB_CMPMEM и INNODB_CMPMEM_RESET содержат информацию о статусе сжатых страниц в буфере пула (см. формат InnoDB COMPRESSED).

Для запроса этой таблицы требуется привилегия PROCESS.

Эти таблицы содержат следующие столбцы:

Имя столбца Описание
PAGE_SIZE Размер сжатой страницы в байтах. Это значение уникально в таблице; другие значения являются итогами, которые относятся к страницам такого размера.
BUFFER_POOL_INSTANCE Идентификатор буферного пула. С MariaDB 10.5.1 возвращает значение 0, так как было удалено несколько экземпляров буферного пула InnoDB.
PAGES_USED Количество страниц размера PAGE_SIZE, которые в настоящее время находятся в буферном пуле.
PAGES_FREE Количество страниц размера PAGE_SIZE, которые в настоящее время свободны и, следовательно, доступны для выделения. Это значение отражает фрагментацию буферного пула. Полностью нефрагментированный буферный пул имеет не более 1 свободной страницы.
RELOCATION_OPS Количество раз, когда страница размера PAGE_SIZE была перемещена. Это происходит, когда данные превышают страницу (потому что строка должна быть скопирована на новую страницу) и когда две страницы объединяются (потому что их данные уменьшились и теперь могут поместиться на одной странице).
RELOCATION_TIME Время (в секундах), затраченное на операции перемещения страниц размера PAGE_SIZE. Этот столбец сбрасывается при запросе таблицы INNODB_CMPMEM_RESET.

Эти таблицы могут использоваться для оценки эффективности сжатия таблиц InnoDB. Когда необходимо определить значение для KEY_BLOCK_SIZE, можно создать несколько версий таблицы (по одной на каждое кандидатное значение) и выполнить на них реалистическую рабочую нагрузку. Затем эти таблицы можно использовать, чтобы увидеть, как выполняются операции с различными размерами страниц.

Таблицы INNODB_CMPMEM и INNODB_CMPMEM_RESET содержат одинаковые столбцы и всегда содержат одинаковые значения, но при запросе таблицы INNODB_CMPMEM_RESET столбец RELOCATION_TIME в обеих таблицах очищается. INNODB_CMPMEM_RESET может быть использован, например, если скрипт периодически регистрирует производительность сжатия в течение последнего периода времени. INNODB_CMPMEM может использоваться для просмотра кумулятивной статистики.

Пример

SELECT * FROM information_schema.INNODB_CMPMEM\G
********************** 1. row **********************
            page_size: 1024
 buffer_pool_instance: 0
           pages_used: 0
           pages_free: 0
      reloacation_ops: 0
      relocation_time: 0

См. также

Другие таблицы, которые могут использоваться для мониторинга сжатых таблиц InnoDB:

  • INNODB_CMP и INNODB_CMP_RESET
  • INNODB_CMP_PER_INDEX и INNODB_CMP_PER_INDEX_RESET
Содержание, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/information-schema-innodb_cmpmem-and-innodb_cmpmem_reset-tables/

Spec-Zone.ru

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