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.