示例 14.1 使用压缩信息模式表
以下是包含压缩表的数据库的示例输出(请参阅第 14.9 节,“InnoDB 表和页面压缩”、、、
INNODB_CMP
和
INNODB_CMP_PER_INDEX
)
INNODB_CMPMEM
。
下表显示
INFORMATION_SCHEMA.INNODB_CMP
了轻工作量下的内容。缓冲池包含的唯一压缩页面大小是 8K。自重置统计信息以来,压缩或解压缩页面所用时间不到一秒,因为列COMPRESS_TIME
和
UNCOMPRESS_TIME
为零。
页面大小 | 压缩操作 | 压缩操作好 | 压缩时间 | 解压缩操作 | 解压时间 |
---|---|---|---|---|---|
1024 | 0 | 0 | 0 | 0 | 0 |
2048 | 0 | 0 | 0 | 0 | 0 |
4096 | 0 | 0 | 0 | 0 | 0 |
8192 | 1048 | 921 | 0 | 61 | 0 |
16384 | 0 | 0 | 0 | 0 | 0 |
据此,缓冲池中INNODB_CMPMEM
有6169个压缩后的8KB页面
。唯一的其他分配块大小是 64 字节。最小
的 in
用于缓冲池中不存在未压缩页面的那些压缩页面的块描述符。我们看到有 5910 个这样的页面。间接地,我们看到 259 (6169-5910) 个压缩页面也以未压缩的形式存在于缓冲池中。
PAGE_SIZE
INNODB_CMPMEM
下表显示
INFORMATION_SCHEMA.INNODB_CMPMEM
了轻工作量下的内容。由于压缩页面的内存分配器碎片,一些内存不可用:
SUM(PAGE_SIZE*PAGES_FREE)=6784
。这是因为小的内存分配请求是通过拆分更大的块来满足的,从使用伙伴分配系统从主缓冲池分配的 16K 块开始。碎片如此之少是因为一些已分配的块已被重新定位(复制)以形成更大的相邻空闲块。这种
SUM(PAGE_SIZE*RELOCATION_OPS)
字节复制只用了不到一秒
(SUM(RELOCATION_TIME)=0)
。