返回首页

gbase数据、南大通用产品文档:GBase8a行列混存的定义

更新日期:2024年09月11日

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

支持SQL 语法,包括建表时定义行列混存,对已存在的表创建行列混存,删
除行列混存;

支持快速创建,并行创建行列混存;

行列混存支持压缩存储;

提升I/O 性能,
行列混存可以按更小粒度的Data Page 读取数据,
而不是DC;

系统会自动判断某场景是否需要使用行列混存数据;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1035

存储冗余方式灵活,用户可自定义数据存储及冗余方式;

行列混存维护,
DML 语句自动维护行列混存,
包括INSERT、
快速UPDATE、
DELETE、LOAD 等。
使用约束

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

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

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

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

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

行存列只允许使用0、3、5 压缩方式,使用其它压缩方式会发生错误。

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

b$12,345.67
bb$1,234.56
bbbb$123.45
bbbbb$12.34
bbbbbb$1.23
bbbbbbb$.12
"<<<,<<<"
"<<<,<<<"
"<<<,<<<"
"<<<,<<<"
12345
1234
123
12
12,345
1,234
123
12
数字格式化函数
提供了特定函数,允许您格式化数字表达式进行显示。

这些格式化函数将给定的格式化掩码应用于数值,以便您可以对小数点进行排列,向

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 121 -

右或向左对齐数字,在圆括号中括起一个负数以及其它格式化功能。GBase 8s ESQL/C 库
包含下列支持数值格式化掩码的函数。

函数名称
描述
请参阅
rfmtdec()
将 decimal 值转换为字符串
rfmtdec() 函

rfmtdouble()
将 double 值转换为字符串
rfmtdouble()
函数
rfmtlong()
将 4 字节整数值转换为字符串
rfmtlong() 函



GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 122 -

(1 row)

network(inet)
描述:抽取地址的网络部分。
返回类型:cidr
示例:
gbase=# SELECT network('192.168.1.5/24') AS RESULT;
result
----------------