MySQL数据瘦身_mysql 案例 ~ 瘦身mysql系列(1)

一 简介:这一系列我们要进行如何瘦身mysql

二 目的:通过提高CPU利用率和节约成本,降低数据库容量及I/O负载,从而使数据吞吐率得到显著提高

三 方法:

利用innodb的COMPRESSED

四 如何开启

第一,mysql的版本需要大于5.5,mysql系统表是无法进行压缩的

第二,设置innodb_file_format=barracuda

第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;(默认的key_block_size=16)

五 对于现有的表如何进行转化压缩

alter table test KEY_BLOCK_SIZE=8; 默认是16,数值越小压缩率越高,但是解压所消耗的资源率越高

六 目标:

1 针对 数据短时间用不到而且需要保留的大表,可以进行压缩和处理->冷表

2 针对 只有单一insert和select业务的大表,考虑进行压缩和处理

3 针对 频繁业务的大表,不推荐进行压缩处理,可能会影响并发

七  相关参数

innodb_compression_level:决定压缩程度的参数 如果你设置比较大,那么压缩比较多,耗费的CPU资源也较多;相反,如果设置较小的值,那么CPU占用少。默认值6,可以设置0-9

innodb_compression_failure_threshold_pct:默认值5,范围0到100.设置中断点避免高昂的压缩失败率。

innodb_compression_pad_pct_max:指定在每个压缩页面可以作为空闲空间的最大比例,该参数仅仅应用在设置了innodb_compression_failure_threshold_pct不为零情况下,并且压缩失败率通过了中断点。默认值50,可以设置范围是0到75.

八 注意事项

1 5.6 默认是不支持压缩的 最好在配置文件和全局变量都添加 innodb_file_format=barracuda

2 Barracuda兼容Antelope格式,所以不必担心修改后会引起以前的表相关问题

3 修改完后show create table 会发现出现一行KEY_BLOCK_SIZE

4 压缩效果并非对所有表都很明显,需要注意,关于blob varchar大于255 TEXT等大字段类型压缩能力很差

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值