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_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句查看有关这些表的列的附加信息,包括数据类型和默认值。因为为每个索引收集单独的度量会增加大量的性能开销,
INNODB_CMP_PER_INDEX
并且INNODB_CMP_PER_INDEX_RESET
默认情况下不会收集统计信息。innodb_cmp_per_index_enabled
在对要监视的压缩表执行操作之前, 必须启用 系统变量。有关使用信息,请参阅 第 15.9.1.4 节,“在运行时监视 InnoDB 表压缩”和 第 15.15.1.3 节,“使用压缩信息模式表”。有关
InnoDB
表压缩的一般信息,请参阅第 15.9 节,“InnoDB 表和页面压缩”。