您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页GreenPlum改变表的分布策略

GreenPlum改变表的分布策略

来源:保捱科技网


创建一张表,在没有primary key 或者 unique key 的情况下,GreenPlum默认会把第一个column作为分布键 zwcdb=# create table tab01(id int,name varchar(20));NOTICE: Table doesnt have DISTRIBUTED BY clause -- Using column named id as the Greenplum Da

创建一张表,在没有primary key 或者 unique key 的情况下,GreenPlum默认会把第一个column作为分布键

zwcdb=# create table tab01(id int,name varchar(20));
NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'id' as the Greenplum 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
zwcdb=# 
zwcdb=# \d+ tab01
 Table "public.tab01"
 Column | Type | Modifiers | Storage | Description 
--------+-----------------------+-----------+----------+-------------
 id | integer | | plain | 
 name | character varying(20) | | extended | 
Has OIDs: no
Distributed by: (id)
使用以下语句修改分布键
zwcdb=# alter table tab01 set distributed by(name);
ALTER TABLE
zwcdb=# \d+ tab01
 Table "public.tab01"
 Column | Type | Modifiers | Storage | Description 
--------+-----------------------+-----------+----------+-------------
 id | integer | | plain | 
 name | character varying(20) | | extended | 
Has OIDs: no
Distributed by: (name)
在不确定哪个column为分布键的情况下可以使用randomly策略
zwcdb=# alter table tab01 set distributed randomly;
ALTER TABLE
zwcdb=# alter table tab01 set with(reorganize=true);
ALTER TABLE
zwcdb=# \d+ tab01
 Table "public.tab01"
 Column | Type | Modifiers | Storage | Description 
--------+-----------------------+-----------+----------+-------------
 id | integer | | plain | 
 name | character varying(20) | | extended | 
Has OIDs: no
Distributed randomly

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务