分布式数据库之分布键

Update报错:

Cannot parallelize an UPDATE statement that updates the distribution column

分布式数据库之分布键_第1张图片

 

1个或者数个table column被作为distribution key(DK) 。DK被Hash算法用来决定每行记录对应特定的segment instance。

相同的key值记录会Hash到相同的segment instance。选择唯一的健(unique key)作为DK,比如主键(Primary Key)

可以尽可能的确保平坦数据分布

--查看数据分布,如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能

SELECT gp_segment_id,count(*) from wpp_adefect_glass_f group  by 1 order by gp_segment_id;

分布式数据库之分布键_第2张图片

-------------------------------------2020年4月25日09:35:03----------------------------------

分布键事实上是不能用update语法来操作的,因为这设计数据迁移,可能导致数据分布不均匀,可以通过alter tab语句修改DK。

ALTER TABLE dest set distributed by(columname);

你可能感兴趣的:(GP,Postgresql)