Схема информации таблиц 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:
© 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/