24.4.7 Таблицы INFORMATION_SCHEMA INNODB_CMP_PER_INDEX и INNODB_CMP_PER_INDEX_RESET
Таблицы INNODB_CMP_PER_INDEX и INNODB_CMP_PER_INDEX_RESET предоставляют информацию о статусе операций, связанных с таблицами и индексами InnoDB, с отдельной статистикой для каждой комбинации базы данных, таблицы и индекса, чтобы помочь оценить производительность и эффективность сжатия для конкретных таблиц.
Для сжатой таблицы InnoDB сжимаются как данные таблицы, так и все . В данном контексте данные таблицы рассматриваются как просто еще один индекс, который, к слову, содержит все столбцы: .
Таблицы INNODB_CMP_PER_INDEX и INNODB_CMP_PER_INDEX_RESET имеют следующие столбцы:
-
DATABASE_NAMEСхема (база данных), содержащая соответствующую таблицу.
-
TABLE_NAMEТаблица, которую нужно отслеживать для статистики сжатия.
-
INDEX_NAMEИндекс, который нужно отслеживать для статистики сжатия.
-
COMPRESS_OPSКоличество попыток операций сжатия. сжимаются всякий раз, когда создается пустая страница или заканчивается место для нескомпрессированного журнала изменений.
-
COMPRESS_OPS_OKКоличество успешных операций сжатия. Вычтите из значения
COMPRESS_OPS, чтобы получить количество . Разделите на значениеCOMPRESS_OPS, чтобы получить процент неудач при сжатии. -
COMPRESS_TIMEОбщее время в секундах, затраченное на сжатие данных в этом индексе.
-
UNCOMPRESS_OPSКоличество выполненных операций разархивирования. Сжатые
InnoDBстраницы разархивируются всякий раз, когда происходит сжатие , или в первый раз, когда к сжатой странице обращаются в и не существует разархивированной страницы. -
UNCOMPRESS_TIMEОбщее время в секундах, затраченное на разархивирование данных в этом индексе.
Пример
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX\G
*************************** 1. row ***************************
database_name: employees
table_name: salaries
index_name: PRIMARY
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 23451
uncompress_time: 4
*************************** 2. row ***************************
database_name: employees
table_name: salaries
index_name: emp_no
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 1597
uncompress_time: 0
Примечания
Используйте эти таблицы для измерения эффективности таблиц
InnoDBдля конкретных таблиц, индексов или обоих.Для запроса этих таблиц требуется привилегия
PROCESS.Используйте таблицу
INFORMATION_SCHEMACOLUMNSили операторSHOW COLUMNS, чтобы получить дополнительную информацию о столбцах этих таблиц, включая типы данных и значения по умолчанию.Поскольку сбор отдельных измерений для каждого индекса накладывает существенную нагрузку на производительность, статистика по
INNODB_CMP_PER_INDEXиINNODB_CMP_PER_INDEX_RESETне собирается по умолчанию. Необходимо включить системную переменнуюinnodb_cmp_per_index_enabledперед выполнением операций на сжатых таблицах, которые нужно отслеживать.Сведения об использовании см. в Разделе 14.9.1.4, «Мониторинг сжатия таблиц InnoDB во время выполнения» и Разделе 14.16.1.3, «Использование таблиц схемы данных сжатия». Общие сведения о сжатии таблиц
InnoDBсм. в Разделе 14.9, «Сжатие таблиц и страниц InnoDB».
© 2025 Oracle
Licensed under the GPLv2 License.