INNODB_CMPMEM
和 INNODB_CMPMEM_RESET
表提供有关 InnoDB
缓冲池 中压缩 页 的状态信息。
INNODB_CMPMEM
和 INNODB_CMPMEM_RESET
表具有以下列
PAGE_SIZE
以字节为单位的块大小。此表中的每条记录都描述了这种大小的块。
BUFFER_POOL_INSTANCE
缓冲池实例的唯一标识符。
PAGES_USED
当前正在使用的
PAGE_SIZE
大小的块数。PAGES_FREE
当前可用于分配的
PAGE_SIZE
大小的块数。此列显示内存池中的外部碎片。理想情况下,这些数字应该最多为 1。RELOCATION_OPS
PAGE_SIZE
大小的块被重新定位的次数。当伙伴系统尝试形成更大的空闲块时,它可以重新定位已释放块的 “伙伴邻居”。从INNODB_CMPMEM_RESET
表中读取会重置此计数。RELOCATION_TIME
重新定位
PAGE_SIZE
大小的块所用的总时间(以微秒为单位)。从INNODB_CMPMEM_RESET
表中读取会重置此计数。
示例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM\G
*************************** 1. row ***************************
page_size: 1024
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 2. row ***************************
page_size: 2048
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 3. row ***************************
page_size: 4096
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
*************************** 4. row ***************************
page_size: 8192
buffer_pool_instance: 0
pages_used: 7673
pages_free: 15
relocation_ops: 4638
relocation_time: 0
*************************** 5. row ***************************
page_size: 16384
buffer_pool_instance: 0
pages_used: 0
pages_free: 0
relocation_ops: 0
relocation_time: 0
注释
使用这些表来衡量
InnoDB
表 压缩 在您的数据库中的有效性。您必须拥有
PROCESS
权限才能查询此表。使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句来查看有关此表列的更多信息,包括数据类型和默认值。有关使用信息,请参见 第 17.9.1.4 节,“在运行时监控 InnoDB 表压缩” 和 第 17.15.1.3 节,“使用压缩信息模式表”。有关
InnoDB
表压缩的一般信息,请参见 第 17.9 节,“InnoDB 表和页压缩”.