返回首页

gbase数据、南大通用产品文档:GBase8aHash 分布列的选择原则

更新日期:2024年09月11日

根据数据特点为大表关联和等值查询条件的应考虑建hash 分布表,
选择分布键时
要结合数据特征,选择的原则如下:

数据均匀分布:尽量选择count(distinct)值大的列做Hash 分布列,尽量使数
据均匀分布;

分布式多节点操作:优先考虑大表间的JOIN,尽量让大表JOIN 条件的列为
Hash 分布列(相关子查询的相关JOIN 也可以参考此原则),以使得大表间
的JOIN 可以直接分布式发布到每个节点执行;

尽量选择使用频率高的grour by 列:尽量让GROUP BY 带有Hash 分布列,
让分组聚合一步完成;

多节点运行:选择某数据列随机性很大的字段,避免部分节点的热查询,导
致执行性能不均衡;

函数说明

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 881
返回date 中对应的月份,并以英文名称显示。
示例
示例1
返回8 月对应的英文名称。
gbase> SELECT MONTHNAME('2011-08-30') FROM t;
+-------------------------+
| MONTHNAME('2011-08-30') |
+-------------------------+
| August |
+-------------------------+
1 row in set

功能说明
语句指明了处理程序,
每个可以处理一个或多个条件。
如果产生一个或多个条件,
指定的语句将被执行。
语法格式
DECLARE handler_type HANDLER FOR condition_value[,...] statement
handler_type:
CONTINUE
| EXIT
condition_value:
SQLSTATE [VALUE] sqlstate_value
| condition_name
| SQLWARNING
| NOT FOUND

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1376
| SQLEXCEPTION
| gbase_error_code
表5- 190 参数说明
参数名称


handler_type
处理的动作
CONTINUE
在处理器语句执行结束后,当前的程序继续执行。
EXIT
当前BEGIN...END 复合语句的执行被终止。
statement
一条或多条语句
condition_value
异常处理捕获条件或情况
condtion_name
条件名称,使用DECLARE...CONDITION 语句来定义
SQLWARNING
对所有以01 开始的SQLSTATE 代码的速记
NOT FOUND
对所有以02 开始的SQLSTATE 代码的速记
SQLEXCEPTION
对所有没有被SQLWARNING 或NOTFOUND 捕获的
SQLSTATE 代码的速记。
示例
示例1:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET
has_error = 1;