### 26.4.8 信息\_SCHEMA INNODB_CMP\_每\_索引和 INNODB_CMP\_每\_指数\_重置表 [](<>)[](<>) 这[`INNODB_CMP_PER_INDEX`](information-schema-innodb-cmp-per-index-table.html)和[`INNODB_CMP_PER_INDEX_RESET`](information-schema-innodb-cmp-per-index-table.html)表格提供有关操作的状态信息[压缩的](glossary.html#glos_compression) `InnoDB`表和索引,为每个数据库、表和索引的组合提供单独的统计信息,以帮助您评估特定表的压缩性能和有用性。 对于压缩`InnoDB`表,表数据和所有[二级索引](glossary.html#glos_secondary_index)被压缩。在这种情况下,表数据被视为只是另一个索引,恰好包含所有列:[聚集索引](glossary.html#glos_clustered_index). 这[`INNODB_CMP_PER_INDEX`](information-schema-innodb-cmp-per-index-table.html)和[`INNODB_CMP_PER_INDEX_RESET`](information-schema-innodb-cmp-per-index-table.html)表有这些列: - `数据库名称` 包含适用表的架构(数据库)。 - `TABLE_NAME` 要监视压缩统计信息的表。 - `INDEX_NAME` 监视压缩统计信息的索引。 - `压缩_OPS` 尝试的压缩操作数。[页面](glossary.html#glos_page)每当创建一个空页面或未压缩的修改日志的空间用完时,就会被压缩。 - `COMPRESS_OPS_OK` 成功的压缩操作数。减去`压缩_OPS`获取数量的值[压缩失败](glossary.html#glos_compression_failure).除以`压缩_OPS`值以获取压缩失败的百分比。 - `COMPRESS_TIME` 用于压缩此索引中的数据的总时间(以秒为单位)。 - `解压_OPS` 执行的解压缩操作数。压缩`InnoDB`每当压缩时页面都未压缩[失败](glossary.html#glos_compression_failure),或第一次访问压缩页面时[缓冲池](glossary.html#glos_buffer_pool)并且未压缩的页面不存在。 - `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`桌子[压缩](glossary.html#glos_compression)用于特定的表、索引或两者。 - 你必须拥有[`过程`](privileges-provided.html#priv_process)查询这些表的权限。 - 使用`INFORMATION_SCHEMA` [`列`](information-schema-columns-table.html)表或[`显示列`](show-columns.html)语句以查看有关这些表的列的其他信息,包括数据类型和默认值。 - 因为为每个索引收集单独的测量值会带来大量的性能开销,[`INNODB_CMP_PER_INDEX`](information-schema-innodb-cmp-per-index-table.html)和[`INNODB_CMP_PER_INDEX_RESET`](information-schema-innodb-cmp-per-index-table.html)默认情况下不收集统计信息。您必须启用[`innodb_cmp_per_index_enabled`](innodb-parameters.html#sysvar_innodb_cmp_per_index_enabled)对要监视的压缩表执行操作之前的系统变量。 - 有关使用信息,请参阅[第 15.9.1.4 节,“在运行时监控 InnoDB 表压缩”](innodb-compression-tuning-monitoring.html)和[第 15.15.1.3 节,“使用压缩信息模式表”](innodb-information-schema-examples-compression-sect.html).有关一般信息`InnoDB`表压缩,见[第 15.9 节,“InnoDB 表和页面压缩”](innodb-compression.html).