### 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).
