MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
例15.1使用压缩信息模式表
以下是来自一个包含压缩表的数据库的示例输出(参见第15.9节“InnoDB表和页压缩”,INNODB_CMP
,INNODB_CMP_PER_INDEX
,INNODB_CMPMEM
).
的内容如下表所示INFORMATION_SCHEMA。INNODB_CMP
在灯光下工作负载.缓冲池包含的唯一压缩页面大小是8K。自统计信息重置以来,压缩或解压缩页面所花费的时间不到1秒,因为列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字节。最小的页大小
在INNODB_CMPMEM
用于缓冲池中没有未压缩页的压缩页的块描述符。我们看到有5910个这样的页面。间接地,我们看到259(6169-5910)个压缩页也以未压缩的形式存在于缓冲池中。
的内容如下表所示INFORMATION_SCHEMA。INNODB_CMPMEM
在灯光下工作负载.由于压缩页面的内存分配器的碎片,一些内存是不可用的:总和(页大小* PAGES_FREE) = 6784
.这是因为使用伙伴分配系统,从从主缓冲池分配的16K块开始,通过分割更大的块来满足较小的内存分配请求。碎片之所以这么低,是因为一些已分配的块已经被重新定位(复制),以形成更大的相邻空闲块。这种复制总和(页大小* RELOCATION_OPS)
字节消耗不到一秒(SUM (RELOCATION_TIME) = 0)
.