的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_SCHEMAINNODB_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
表格压缩对于特定的表、索引或两者。你必须有
过程
查询这些表的特权。因为为每个指标收集单独的测量值会增加大量的性能开销,
INNODB_CMP_PER_INDEX
而且INNODB_CMP_PER_INDEX_RESET
默认情况下不收集统计信息。您必须启用innodb_cmp_per_index_enabled
在对要监视的压缩表执行操作之前,请先使用系统变量。有关使用信息,请参见14.9.1.4节,运行时监视InnoDB表压缩而且第14.16.1.3节,“使用压缩信息架构表”。有关的一般资料
InnoDB
表压缩,请参见14.9节“InnoDB表和页压缩”。