Greenplum-表的分布策略

本文介绍了Greenplum数据库中表的三种分布策略:HASH分布、随机分布和复制表。默认采用HASH分布,依据指定列进行数据路由。随机分布使数据均匀分散但可能影响SQL性能。复制表则将所有记录复制到每个节点,适用于小表。创建表时,可使用DISTRIBUTED BY、DISTRIBUTED RANDOMLY和DISTRIBUTED REPLICATED语法来指定分布策略。

Greenplum中所有的表都是必须分布存放的,这样可以充分利用MPP的并发特性。
在创建表时可以指定不同的分布策略,包括三种分布策略:HASH分布、随机分布和复制表。

HASH分布

概念:选择一个列或多个列作为数据表的分布键,通过hash计算,将插入的数据路由到特定的segment上。
HASH分布是默认的分布策略。也可通过指定DISTRIBUTED BY语法来指定使用HASH分布。
注:当建表时未定义分布键时,如果表有主键,使用主键字段作为默认的分布键;如果表上没有主键,默认按照第一个字段来分布。

示例:

=# create table dist1(a int, b text);
NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Database data distribution key for this table.
HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
CREATE TABLE
=# \d dist1
Table "public.dist1"
Column |  Type   | Modifiers
--------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值