有关压缩的InnoDB INFORMATION_SCHEMA表
InnoDB
INFORMATION_SCHEMA
关于压缩的表格有两对,可以深入了解压缩的整体效果:
INNODB_CMP
并INNODB_CMP_RESET
提供有关压缩操作数和执行压缩所花费时间的信息。INNODB_CMPMEM
并INNODB_CMPMEM_RESET
提供有关分配内存以进行压缩的方式的信息。
INNODB_CMP和INNODB_CMP_RESET
在INNODB_CMP
与INNODB_CMP_RESET
表提供有关与压缩表执行的操作,这被描述的状态信息 15.9节,“InnoDB的表和页压缩”。该PAGE_SIZE
列报告压缩的页面大小。
这两个表具有相同的内容,但是从中读取将INNODB_CMP_RESET
重置有关压缩和解压缩操作的统计信息。例如,如果您INNODB_CMP_RESET
每60分钟存档一次输出,则会看到每个小时周期的统计信息。如果监视INNODB_CMP
(确保从不读取INNODB_CMP_RESET
)的输出,则会看到自InnoDB启动以来的累积统计信息。
有关表的定义,请参见“ INFORMATION_SCHEMA INNODB_CMP和INNODB_CMP_RESET表”。
INNODB_CMPMEM和INNODB_CMPMEM_RESET
在INNODB_CMPMEM
与INNODB_CMPMEM_RESET
表提供有关驻留在缓冲池中压缩页的状态信息。请参阅“ InnoDB表和页面压缩”以获取有关压缩表和缓冲池使用的更多信息。在INNODB_CMP
和INNODB_CMP_RESET
表格应提供关于压缩的更多有用的统计数据。
内部细节
InnoDB
使用伙伴分配器系统来管理分配给大小从1KB到16KB的页面的内存。这里描述的两个表的每一行对应一个页面大小。
在INNODB_CMPMEM
与INNODB_CMPMEM_RESET
表的内容相同,但是从阅读INNODB_CMPMEM_RESET
重置迁址操作的统计信息。例如,如果您每60分钟存档一次的输出INNODB_CMPMEM_RESET
,它将显示每小时的统计信息。如果您从不读取INNODB_CMPMEM_RESET
和监视它的输出INNODB_CMPMEM
,它将显示自InnoDB
启动以来的累积统计信息。
有关表的定义,请参见“ INFORMATION_SCHEMA INNODB_CMPMEM和INNODB_CMPMEM_RESET表”。
使用压缩信息架构表
示例15.1使用压缩信息模式表
以下是从包含压缩的表(参照数据库样本输出“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个字节。最小的PAGE_SIZE
in INNODB_CMPMEM
用于那些缓冲池中不存在未压缩页面的压缩页面的块描述符。我们看到有5910个此类页面。间接地,我们看到259(6169-5910)压缩页面也以未压缩形式存在于缓冲池中。
下表显示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 |