Greenplum 大宽表 OR 分层关系 - 大量nestloop,补齐其他字段的性能损耗

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

Greenplum 大宽表 OR 分层关系 - 大量nestloop,补齐其他字段的性能损耗

德哥 2019-04-27 18:08:05 浏览578
展开阅读全文

标签

PostgreSQL , Greenplum , 宽表 , 关系 , 循环 , 性能


背景

GPDB中,使用关系存储,还是使用大宽表呢?

关系存储,在查询其他表的内容时,需要JOIN补齐。JOIN可能需要重分布数据,维度表可以解决大量数据重分布的问题。

大宽表,则可能存在数据冗余的问题,但是不需要JOIN。

业务可以在两者之间权衡。

下面的例子是补齐字段的例子,虽然JOIN补齐内容的表只有一条记录,但是使用了嵌套循环,性能相差了几十倍。

postgres=# create table a (id int, info text, c1 int);    
NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'id' as the Greenplum

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB