反连接是一种在一个表中获取与另一个表中不匹配的元组的方法。
我们可以通过多种方式实施反连接:
哪个是在Redshift中执行反连接的最佳方式?在这种情况下,相关的子查询不是最优的,并且RedShift的查询引擎不会对该查询进行去相关。
答案 0 :(得分:3)
如果没有实际的表格布局和统计数据以及实际查询,很难给出明确的答案。
我可以推测这种任务,需要在Redshift方面使用HashJoin。如果其中一个表不是太大,并且两个表具有相同的dist键,则可以在内存中有效地完成。外部加入Null检查然后听起来最合适,因为它是最可预测的 - 它会做到这一点。
但是实际的性能取决于很多因素,一旦你有表/查询就会更好地回来。
答案 1 :(得分:2)
正如@denismo所说,没有上下文就很难,但你可以尝试类似的东西:
SELECT ...
FROM a LEFT OUTER JOIN b USING(key)
WHERE b.key is null
它将返回一个行列表,其中的键不存在于
中