表压缩能提升性能,减少存储空间,主要是用在包含很多字符的表上,并且读要比写多的情况下,也就是在数据仓库的情况下应用居多
在使用表压缩的功能时候, innodb_file_per_table这个参数要启用,innodb_file_format这个参数设置成Barracuda,对比下看看效果
CREATE TABLE compressed_tab
(
TABLE_CATALOG
varchar(512) NOT NULL DEFAULT ”,
TABLE_SCHEMA
varchar(64) NOT NULL DEFAULT ”,
TABLE_NAME
varchar(64) NOT NULL DEFAULT ”,
TABLE_TYPE
varchar(64) NOT NULL DEFAULT ”,
ENGINE
varchar(64) DEFAULT NULL,
VERSION
bigint(21) unsigned DEFAULT NULL,
ROW_FORMAT
varchar(10) DEFAULT NULL,
TABLE_ROWS
bigint(21) unsigned DEFAULT NULL,
AVG_ROW_LENGTH
bigint(21) unsigned DEFAULT NULL,
DATA_LENGTH
bigint(21) unsigned DEFAULT NULL,
MAX_DATA_LENGTH
bigint(21) unsigned DEFAULT NULL,
INDEX_LENGTH
bigint(21) unsigned
innodb表压缩
最新推荐文章于 2024-05-24 04:34:42 发布
启用InnoDB表压缩可以在包含大量字符的表上减少存储空间并提高性能,尤其适用于读多于写的场景,如数据仓库。需要设置innodb_file_per_table为启用,并将innodb_file_format设为Barracuda。创建压缩表后,插入相同数量的数据,ibd文件大小减半,查询速度也有所提升,大约减少了2秒。通过innodb_compression_level参数可以控制压缩率,InnoDB使用LZ77算法压缩,对于非主键的BLOB、VARCHAR和TEXT列,它们的值可能存储在单独的溢出页面上。
摘要由CSDN通过智能技术生成