2013年11月25日 星期一 15:00
对InnoDB数据表启用压缩,一般情况下,可以节省50%的存储空间,效果立竿见影。对于大容量数据库或者使用SSD存储的数据库,这个结果是非常有吸引力的。根据我的实践,启用压缩对于服务器CPU负载并没有太大影响。
MySQL 5.1以及后续版本都支持InnoDB数据表的压缩,要使用此特性,需要设置以下几个参数:
1, innodb_file_per_table 这个参数必须设置为ON。
2,innodb_file_format 这个参数必须设置为 Barracuda。
然后就可以使用alter table语句来对数据表启用压缩,例如:
ALTER TABLE example_table
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
其中KEY_BLOCK_SIZE可以设置为1KB, 2KB, 4KB, 8KB, 或 16KB,根据我的实践,8KB是最好的选择,大家也可以根据自己数据的情况自行测试对比。
更多关于InnoDB数据压缩的介绍,请参考官方文档:
http://dev.mysql.com/doc/refman/5.6/en/innodb-compression.html
Zeuux © 2024
京ICP备05028076号