24.32.5 INFORMATION_SCHEMA INNODB_CMPMEM 和 INNODB_CMPMEM_RESETtable
INNODB_CMPMEM和INNODB_CMPMEM_RESETtable 提供有关InnoDB
buffer pool内已压缩pages的状态信息。
INNODB_CMPMEM和INNODB_CMPMEM_RESETtable 具有以下列:
PAGE_SIZE
块大小(以字节为单位)。该 table 的每个记录都描述了这种大小的块。
BUFFER_POOL_INSTANCE
缓冲池实例的唯一标识符。
PAGES_USED
当前正在使用的大小为PAGE_SIZE
的块数。
PAGES_FREE
当前可用于分配的大小为PAGE_SIZE
的块数。此列显示内存池中的外部碎片。理想情况下,这些数字最多应为 1.
RELOCATION_OPS
大小为PAGE_SIZE
的块已重定位的次数。当伙伴系统尝试形成更大的释放块时,可以重新分配释放块的分配的“伙伴邻居”。从INNODB_CMPMEM_RESETtable 中读取将重置此计数。
RELOCATION_TIME
用于重新定位大小为PAGE_SIZE
的块的总时间(以微秒为单位)。从 tableINNODB_CMPMEM_RESET
中读取将重置此计数。
Example
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
Notes
-
使用这些 table 来衡量数据库中
InnoDB
tablecompression的有效性。 -
您必须具有PROCESS特权才能查询此 table。
-
使用
INFORMATION_SCHEMA
COLUMNStable 或SHOW COLUMNS语句查看有关此 table 列的其他信息,包括数据类型和默认值。 -
有关用法信息,请参阅第 14.9.1.4 节“在运行时监视 InnoDBtable 压缩”和第 14.16.1.3 节,“使用压缩信息模式 table”。有关
InnoDB
table 压缩的一般信息,请参见第 14.9 节“ InnoDBtable 和页面压缩”。