28.4.8 Таблицы 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перед выполнением операций на сжатых таблицах, которые требуется отслеживать.Сведения об использовании см. в Разделе 17.9.1.4, «Отслеживание сжатия таблиц InnoDB во время выполнения» и Разделе 17.15.1.3, «Использование таблиц схемы данных сжатия». Дополнительную информацию о сжатии таблиц
InnoDBсм. в Разделе 17.9, «Сжатие таблиц и страниц InnoDB».
© 2025 Oracle
Licensed under the GPLv2 License.