MySQL压缩表
来源:互联网 发布:2016淘宝女装店铺推荐 编辑:程序博客网 时间:2024/06/17 05:20
MySQL的表压缩技术,可以减少数据的存储空间、减少IO、提高吞吐率,提高CPU的利用率。
压缩表语法:
如果使用表压缩技术,要先确认innodb_file_per_table=1,以及innodb_file_format=Barracuda
SET GLOBAL innodb_file_per_table=1; SET GLOBAL innodb_file_format=Barracuda; CREATE TABLE t1 (wyzc INT PRIMARY KEY) ROW_FORMAT=COMPRESSEDKEY_BLOCK_SIZE=8;
KEY_BLOCK_SIZE参数决定表压缩page的大小,在建表时指定,意味着innodb会将page压缩到指定的大小,例如,如果设置key_block_size=8,则将其压缩到8k,key_block_size的值应根据记录的长度来确定,如果设置的过小,可能由于一个page无法压缩太多行而出现高概率的压缩失败,导致page分裂,但设置为16k则不会取得太好的压缩效果
KEY_BLOCK_SIZE的默认值为8K
什么使用压缩表,这取决于你的负载和数据集合,或者特定的配置,可以考虑如下因素:
1、表中有较多重复的字符串
2、已经在应用中压缩过的数据,不适合存储到压缩表中。
3、对于如何压缩表才算最好的,MySQL没有明确的定义,所以压缩后一定要通过like或order by来测试压缩后的索引性能
4、在应用中进行压缩的,不适合再进行表压缩
5、在表上的workload是一个关键性因素,如果更新主要作用在外部存储的长字符串的非索引列上,压缩的开销可能是可以接受的。如果你的负载是I/O bound而非CPU bound的,压缩可能会改善整体性能
6、压缩可以通过消耗CPU来减少IO,如果IO是相对紧缺的资源时,会获得更好的效果
7、选择压缩Page的大小应该比记录更大,否则可能会引起大量的压缩失败,通常情况下key_block_size=8是比较安全的设置
更多精彩MySQL内容 请关注我!
0 0
- Mysql表压缩 列压缩
- MySQL压缩表
- mysql innodb表压缩
- 【mysql】MYISAM表批量压缩
- mysql myisam引擎压缩表
- 如何设置mysql innodb 表的压缩
- mysql压缩包安装
- 压缩包安装mysql
- mysql压缩版安装
- MySQL压缩包安装
- mysql压缩包安装
- 压缩版mysql安装
- 【mysql】压缩myisam数据表
- 安装mysql压缩版
- MySQL 压缩解决方案
- mysql压缩包安装
- MySQL压缩版教程
- mysql压缩版安装
- 删除文档命令
- 安卓service 基础
- 查询文档命令
- Kesci“魔镜杯”风控算法大赛复赛解决方案
- Setting
- MySQL压缩表
- 分页.排序.索引命令
- 程序员如何做到年薪 50 万?
- 奇数偶数序列
- 聚合命令
- linux设备模型
- 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
- 关于git 如何fork远程文件到自己私有仓库
- 汉诺塔问题 Java 语言递归实现