版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35767346/article/details/54341341
1.创建列存储方式:
CREATE TABLE table_name ( )
WITH ( storage_parameter=value [, ... ] )
;
//指定存储空间
where storage_parameter is:
//指定创建表存在的参数:
APPENDONLY={TRUE|FALSE}
//指定是否可以appendonly
BLOCKSIZE={8192-2097152}
//指定表块大小
ORIENTATION={COLUMN|ROW}
//指定表旋转方式
COMPRESSTYPE={ZLIB|QUICKLZ|RLE_TYPE|NONE}
//指定表的压缩方式
COMPRESSLEVEL={0-9}
//指定表的压缩级别
FILLFACTOR={10-100}
//指定表的占空因数
OIDS[=TRUE|FALSE]
//指定表的对象标识符
2.例子:
CREATE TABLE table_xx(id int,n1 varchar,n2 varchar,n3 varchar)
WITH
(appendonly=
true
,orientation=
column
,compresstype=
zlib
,COMPRESSLEVEL=
5
)
distributed by (id);
①QuickLZ - 低压缩率、低cpu消耗、压缩数据块
②zlib - 高压缩率、低速
(注: QuickLZ的压缩级别只有level1,zlib能够设置从1-9)
3.例子:
对于28G的数据(列式压缩zlib为tab,行式tab_2,列式压缩QuickLZ为tab_3)的执行时间:
①gpload导入数据 ②select count(1) from ...
③selec 某字段 from ... ④select pg_size_pretty(pg_relation_size(''));
⑤select count(字段1+字段2) from ...