【基础原理】MySQL InnoDB 使用压缩信息模式表

示例 15.1 使用压缩信息模式表

以下是包含压缩表的数据库的示例输出(请参阅第 15.9 节,“InnoDB 表和页面压缩”、、、 INNODB_CMPINNODB_CMP_PER_INDEXINNODB_CMPMEM

下表显示 INFORMATION_SCHEMA.INNODB_CMP 了轻工作量下的内容。缓冲池包含的唯一压缩页面大小是 8K。自重置统计信息以来,压缩或解压缩页面所用的时间不到一秒,因为列COMPRESS_TIMEUNCOMPRESS_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_SIZEINNODB_CMPMEM

下表显示 INFORMATION_SCHEMA.INNODB_CMPMEM 了轻工作量下的内容。由于压缩页面的内存分配器碎片,一些内存无法使用: SUM(PAGE_SIZE*PAGES_FREE)=6784。这是因为小内存分配请求是通过拆分更大的块来满足的,从主缓冲池分配的 16K 块开始,使用伙伴分配系统。碎片如此之低,因为一些分配的块已被重新定位(复制)以形成更大的相邻空闲块。这种 SUM(PAGE_SIZE*RELOCATION_OPS)字节复制消耗了不到一秒的时间 (SUM(RELOCATION_TIME)=0)

页面大小 使用的页面 免费页面 搬迁行动 搬迁时间
64 5910 0 2436 0
128 0 1 0 0
256 0 0 0 0
512 0 1 0 0
1024 0 0 0 0
2048 0 1 0 0
4096 0 1 0 0
8192 6169 0 5 0
16384 0 0 0 0

数据运维技术 » 【基础原理】MySQL InnoDB 使用压缩信息模式表