1.原理

mysql支持两种压缩模式:compressed和Transparent Page Compression【透明页压缩TPC 5.7】
  • 开启compressed
    CREATE TABLE t2 (c1 INT) row_format=compressed,key_block_size=8;
    alter table t2 row_format=compressed,key_block_size=8;

  • 开启TPC
    CREATE TABLE t1 (c1 INT) COMPRESSION=“zlib | lz4”;
    alter table t1 compression=“zlib | lz4”;
    optimzie table t1;

  • 禁用TPC
    alter table t1 compression=“none”;
    optimzie table t1;

zlib压缩比高但速度慢,测试5000w表需要30min

  • compressed 需要配合innodb_file_format = Barracuda 否则压缩无效(不会报错,只有警告信息)
  • compressed key_block_size只能指定为16的因数,如:4,8,16,默认是page_size的一半。数据的具体形式决定了压缩程度,通常会压缩50%以上。通过指定innodb_compression_level级别调整压缩比和cpu的开销(可调整到1~9,默认是6,级别越低压缩比越高CPU开销越大)
    对于具有列值较长的表,使用compressed压缩表格式往往更高效
  • TPC压缩利用文件系统‘打孔’技术,如果innodb_page_size = 16K,文件系统块大小为4K,则页面数据必须压缩到小于或等于12K才能进行‘打孔’
    TPC压缩需要linux文件系统支持 hole punching功能**(阿里云支持)**

2.测试

传统压缩:

TPC压缩:

3.真实应用

真实应用表结构:

MySQL存储空间使用情况:

MySQL之TPC压缩相关推荐

  1. MySQL InnoDB表压缩

    MySQL InnoDB表压缩 文件大小减小(可达50%以上) ==> 查询速度变快(count * 约减少20%以上时间) 如何设置mysql innodb 表的压缩: 第一,mysql的版本 ...

  2. mysql 数据文件压缩,压缩MySQL数据文件的妙招

    MySQL数据文件如果过大,能否进行压缩呢?答案是肯定的.下面就教您一个压缩MySQL数据文件的方法,希望对您能有所帮助. MySQL使用一段时间后,MySQL数据文件ibdata会增长得很大(主要是 ...

  3. mysql表增加压缩属性_InnoDB列压缩,提升DB性能

    作者 felixliang 腾讯游戏风雨十年,一直致力于带给玩家最好的快乐体验,为此也取得了巨大的成功. 腾讯游戏的后台数据库一直守护着亿万玩家的数据,提供着稳定透明的服务. 腾讯后台数据库大部分使用 ...

  4. mysql 5.6压缩安装_MySQL 5.6 for Windows 解压缩版配置安装

    MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...

  5. mysql 打包 脚本_windows下mysql自动备份压缩打包时间命名批处理脚本

    我在此文章上做修改:把时间修改成不记录小时分和秒 新建一个名字后缀为".bat"的文件 set d=%date:~0,10% set d=%d:-=% set t=%time:~0 ...

  6. mysql 导出并压缩_mysql压缩备份导入导出

    mysqldump工具自带选项没有对导出备份文件压缩功能,可结合gzip只使用一条命令压缩导出文件,方法如下: mysqldump压缩导出: # mysqldump -h192.168.0.3 -P3 ...

  7. mysql下载个压缩文件怎么安装_压缩包法安装mysql

    之前一直安装mysql,我一直是用压缩包安装的.如果之前安装过Mysql,必须要删除注册文件,才能把Mysql彻底删除了. 先在官网下载mysql的版本.下载package版本,即.zip版本的.下载 ...

  8. mysql数据压缩存储,压缩文本,然后存储在mysql数据库中

    I am developing a web application using php and MySQL. I am compressing the text using gzcompress() ...

  9. MySQL中的表压缩功能

    MySQL版本:8.0.22 os:linux ubuntu 语言:c++.c 在MySQL中支持3种类型的表压缩,依次为:传统压缩.TPC压缩.字典压缩. 第一种:传统压缩 传统的表压缩方式是在My ...

最新文章

  1. java字符串转换成日期型对象
  2. jqgrid横向滚动条
  3. springboot使用logback日志,部署到tomcat不生效问题解决
  4. ios 中的关联对象
  5. 因果关系和相关关系 大数据_数据科学中的相关性与因果关系
  6. pandas处理excel文件和csv文件
  7. 将XML解析成DOM文档
  8. windows下的_mkdir函数
  9. 用友发布新一代价值分析型eHR软件
  10. wordpress个人博客小程序带流量主+教程
  11. 【MyBatis】Mybatis使用SqlSessionFactory加载xml文件
  12. ThinkPHP RBAC官网的例子详解
  13. 慎重选择博士后(或博士生)导师
  14. ARC_x86_OS选择
  15. 数学4如何用计算机画正切函数图像,正切函数图像
  16. Python编程:字典
  17. scp_linux之间互传文件
  18. 【解决方案】快递代收点部署视频监控,EasyCVR视频融合平台来助力
  19. 浅谈触摸屏技术以及未来的发展趋势
  20. vue -- 移动端(vant)更换头像剪切功能

热门文章

  1. UML时序图(序列图)
  2. 机器学习-朴素贝叶斯-垃圾邮件
  3. 辰皇怎么过鸿蒙,最新版 鸿蒙副本快速通关和爆神符攻略
  4. org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误注意:HTTP请求解析错误的进一步发生将记录在DEBUG级别。
  5. python自动求梯度
  6. 《自律100天,穿越人生盲点》读书笔记
  7. 软件测试期末复习重点
  8. 白鹭引擎egert+PHP后端手游宠物小精灵题材源码
  9. HTML5系列代码:个人页面
  10. C语言自学完备手册(07)——printf()输出格式详解