10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册 本手册摘录

15.9.1.1表压缩概述

因为处理器和缓存内存的速度比磁盘存储设备更快,所以很多工作负载都是如此磁盘绑定. 数据压缩以增加CPU利用率的小成本实现较小的数据库大小、减少的I/O和提高的吞吐量。压缩对于读密集型应用程序尤其有价值,因为系统有足够的RAM将经常使用的数据保存在内存中。

InnoDB公司表创建ROW_FORMAT =压缩可以用小一点的页面大小在磁盘上比配置的要多innodb_page_size价值。更小的页面需要更少的I/O来读写磁盘,这对磁盘特别有用固态硬盘设备。

控件指定压缩的页面大小创建表更改表格密钥块大小参数。不同的页面大小要求将表放置在file-per-table表空间或一般的表空间而不是在系统表空间,因为系统表空间不能存储压缩表。有关更多信息,请参见第15.6.3.2节,“每个表的文件表空间”,第15.6.3.3节,“通用表空间”.

压缩级别是相同的,而不考虑密钥块大小价值观。当您为密钥块大小,您可以从越来越小的页面中获得I/O好处。但是,如果指定的值太小,则当数据值无法压缩到足以容纳每个页面中的多行时,重新组织页面会有额外的开销。小到什么程度有个严格的限制密钥块大小可以用于表,根据每个索引的键列的长度。如果指定的值太小,则创建表更改表格语句失败。

在缓冲池中,压缩数据保存在小页面中,页面大小基于密钥块大小价值观。为了提取或更新列值,MySQL还在缓冲池中创建一个包含未压缩数据的未压缩页。在缓冲池中,对未压缩页的任何更新也会被重新写回等效的压缩页。您可能需要调整缓冲池的大小,以容纳压缩页和未压缩页的附加数据,尽管未压缩页是被驱逐当需要空间时从缓冲池中取出,然后在下次访问时再次解压缩。