首批通过分布式安全可靠测评,为关键业务系统打造
表压缩
更新时间:2023-08-01 11:45:47
OceanBase 数据库支持两种方式进行压缩数据,一种是采用数据编码的方式,另一种是使用通用的压缩算法,包括 lz4_1.0、zstd_1.0 等。
OceanBase 数据库在建表或者修改表属性时,通过设置 row_format 来打开或关闭数据编码,而设置COMPRESSION 属性可以控制使用哪种压缩算法。
使用 ROW_FORMAT 控制是否打开数据编码
关闭数据编码。SQL 语句如下:
CREATE TABLE table_name ROW_FORMAT = REDUNDANT; ALTER TABLE table_name [SET] ROW_FORMAT = REDUNDANT; CREATE TABLE table_name ROW_FORMAT = COMPACT; ALTER TABLE table_name [SET] ROW_FORMAT = COMPACT;打开数据编码。SQL 语句如下:
CREATE TABLE table_name ROW_FORMAT = DYNAMIC; ALTER TABLE table_name [SET] ROW_FORMAT = DYNAMIC; CREATE TABLE table_name ROW_FORMAT = COMPRESSED; ALTER TABLE table_name [SET] ROW_FORMAT = COMPRESSED; CREATE TABLE table_name ROW_FORMAT = CONDENSED; ALTER TABLE table_name [SET] ROW_FORMAT = CONDENSED; CREATE TABLE table_name ROW_FORMAT = DEFAULT; ALTER TABLE table_name [SET] ROW_FORMAT = DEFAULT;
使用 COMPRESSION 控制使用的压缩算法
使用 COMPRESSION 设置压缩算法的 SQL 语句如下:
CREATE TABLE table_name COMPRESSION 'compress_func_name';
ALTER TABLE table_name [SET] COMPRESSION 'compress_func_name';
其中,compress_func_name 可以配置成 none、zstd_1.0 和 lz4_1.0,none 代表不使用压缩算法。
详细信息请参考压缩与编码。