首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RedShift中进行反加入的最佳方法

问在RedShift中进行反加入的最佳方法
EN

Stack Overflow用户
提问于 2016-03-07 00:56:31
回答 2查看 5K关注 0票数 2

反连接是在一个表中获取与另一个表不匹配的元组的一种方法。

有许多方法可以实现反连接:

  • 相关子查询
  • 不相关子查询
  • 外部联接并检查NULL

在Redshift中执行反连接的最佳方法是哪一种?在这种情况下,关联子查询不是最优的,红移的查询引擎也不去关联该查询。

EN

回答 2

Stack Overflow用户

发布于 2018-03-28 09:38:25

正如@denismo所说,没有上下文是很难的,但是您可以尝试这样的方法:

代码语言:javascript
复制
SELECT ...
FROM a LEFT OUTER JOIN b USING(key)
WHERE b.key is null

控件中不存在其键的行列表。

票数 6
EN

Stack Overflow用户

发布于 2016-03-18 01:40:17

如果没有实际的表布局和统计数据,没有实际的查询,就很难给出明确的答案。

我可以推测,这种任务,将需要一个HashJoin在红移方面。如果其中一个表不太大,而且两个表都有相同的dist键,则可以在内存中有效地完成该操作。外部连接与空检查,然后听起来最合适,因为它是最可预测的-它会做到这一点。

但是实际的性能将取决于许多因素,最好在有了表/查询之后再回来。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35834576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档