GBase 8a
性能调优
文章

如何选用HASH 分布策略

发表于2024-10-17 13:38:50266次浏览2个评论

如何选用HASH 分布策略,保证数据分布均匀是获取高性能的关键所在。

选择的依据遵从四大原则:

第一个就是首先保证所有节点数据存放是均匀的,避免出现节点出现数据分布过多或过少情

况;

第二,如果经常进行大表连接,尽量把连接字段定义成hash 分布字段,这样尽量减少无效

的节点间拉表操作;

第三,尽量保证where 条件产生的结果集的存储也尽量是均匀的,避免在做查询的时候,

出现某些节点过于繁忙或清闲的情况;

第四,选择使用频率高的group by 字段作为hash 字段。

限制说明:

distributed by整数类型(INT、BIGINT 等)、VARCHAR 或者 DECIMAL 类型。

distributed by列的值,不允许进行更新操作(update)。

原则:

 1.在多表JOIN查询时,表中某列经常用于JOIN等值关联;

 2.表中该列通常是等值查询的列,并且使用的频率很高;

 3.表中重复值较少的列,尽量让数据均匀分布。

 4.选择count(distinct)值大的列做Hash分布列。

被选为distributed by列字段,有如下限制说明:

• distributed by整数类型(INT、BIGINT 等)、VARCHAR 或者 DECIMAL 类型。

• distributed by列的值,不允许进行更新操作(update)。

语法样例:

create table t3(a int,b varchar(10),c datetime)distributed by ('a');

评论

登录后才可以发表评论
用户头像
levvel发表于 7个月前
我看好你哟!
崔哥发表于 5个月前
墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来。