GBase 8a
性能调优
文章

GBASE8A行存列介绍

发表于2024-12-31 10:26:48150次浏览0个评论

1、定义

行存列即行存和列存混合存储,在现有列存的基础上,把某些列的数据拼起来作为一列进行存储,这样当列数较多,访问的数据记录又非常离散时,通过冗余行存储可以有效提高 I/O 性能。

2、语法示例

1)在创建表时指定行存列

Create Table: CREATE TABLE "t" (

  "a" int(11) DEFAULT NULL,

  "b" int(11) DEFAULT NULL,

  "c" int(11) DEFAULT NULL,

  "d" int(11) DEFAULT NULL,

  GROUPED "gr1" ("b","c") )

2)对已存在的表创建行存列

ALTER TABLE t ADD GROUPED (a);

3)删除行存列

ALTER TABLE t DROP GROUPED gr1;

3、功能说明

1)不能与表中其他列重名(包括行列混存)。

2)同一字段不允许出现在两个行列混存定义中。

3)除删除行列混存语句外,行列混存不允许在任何语句中被直接引用。

4)行列混存的定义不允许修改,在确实需要修改的情况下,只能先删除,再根据新的定义创建。

5)行列混存定义中包含的物理列不允许删除和修改数据类型,但可以修改列名和列在表中的顺序。

6)行存列的名字,不能与表中的索引名称重名。

评论

登录后才可以发表评论