语法格式
ALTER TABLE [[vc_name.]database_name.]table_name ADD
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1046
GROUPED_DEFINITION ;
GROUPED_DEFINITION:
GROUPED
[grouped_name](column_references)[COMPRESS(<’method’>,)]
表5- 87 参数说明
参数名称
说
明
vc_name
vc 名,可选项。
database_name
数据库名,可选项。
table_name
表名
GROUPED
关键字,表示定义的是行存列。
grouped_name
表示行存列的名称,可以指定行存列名称。如果
不指定名称,则默认为后面的column_references
中第一个列的名称,如果该名称重名,则在名称
后面加上“_#”(#为从2 开始的一个数字)。
column_references
行存列中包含的物理列的集合,各列间以“,”分
隔。
COMPRESS(<’method’>,)
为行存列指定压缩算法。具体用法参考压缩章节。
示例
示例1:建表时不创建行存列,使用ALTER TABLE 语句创建行存列。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2(a int,b int,c int,d int);
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED (a,b,c);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1047
"d" int(11) DEFAULT NULL,
GROUPED "a" ("a","b","c")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例2:建表时创建部分列为行存列,使用ALTER TABLE 语句增加行存列。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2(a int,b int,c int,d int, GROUPED a(a,b));
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED c(c,d);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,
"d" int(11) DEFAULT NULL,
GROUPED "a" ("a","b"),
GROUPED "c" ("c","d")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例3:使用ALTER TABLE 语句创建行存列,行存列使用压缩语法。
gbase> DROP TABLE t2;
Query OK, 0 rows affected
gbase> CREATE TABLE t2 (a int, b varchar(10),c int ,d int);
Query OK, 0 rows affected
gbase> ALTER TABLE t2 ADD GROUPED c(c,d) COMPRESS('HighZ', 0);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
gbase> show create table t2\G
*************************** 1. row ***************************
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1048
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) DEFAULT NULL,
"b" int(11) DEFAULT NULL,
"c" int(11) DEFAULT NULL,
"d" int(11) DEFAULT NULL,
GROUPED "c" ("c","d") COMPRESS('HighZ', 0)
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)