前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >现在InnoDB支持对某一列(字段)进行压缩

现在InnoDB支持对某一列(字段)进行压缩

原创
作者头像
贺春旸的技术博客
发布2024-06-06 10:25:32
1180
发布2024-06-06 10:25:32
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

InnoDB在之前提供了两种压缩技术

一种是早期的行格式压缩(COMPRESSED Row Format),该方法是在创建表时指定“ROW_FORMAT=COMPRESS”,并通过选项 KEY_BLOCK_SIZE 设置压缩比例。

另一种是新的页面压缩,在支持稀疏文件(Sparse file)的EXT4/XFS文件系统上,通过使用打洞(Punch Hole)特性进行压缩。

现在InnoDB支持对某一列(字段)进行压缩,它使列中存储的数据在写入存储时被压缩,并在读取时被解压缩。

三者之间的区别

压缩粒度不同

  • 行格式压缩和页面压缩是以整行或整页为压缩单位
  • 列压缩则是对指定的某些列单独进行压缩

支持下列类型

  • BLOB (including TINYBLOB, MEDIUMBLOB, LONGBLOG)
  • TEXT (including TINYTEXT, MEDUUMTEXT, LONGTEXT)
  • VARCHAR (including NATIONAL VARCHAR)
  • VARBINARY
  • JSON

语法

代码语言:sql
复制
mysql> alter table sbtest2 modify c varchar(120) column_format compressed;

注:指定压缩的字段不能包含索引

甲骨文MySQL不支持此功能,请切换至Percona MySQL版本。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三者之间的区别
  • 支持下列类型
  • 语法
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档