MySQL 8.3 Release Notes
该 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
的重定位次数。buddy 系统可以在释放块时重定位已分配的“buddy 邻居”。从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 表和页面压缩”。