首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暗示红移如何分发一个连接?

暗示红移如何分发一个连接?
EN

Database Administration用户
提问于 2017-07-05 00:48:56
回答 1查看 2.2K关注 0票数 1

如果我在两个表之间连接,A和B,具有多个等式约束,有什么方法可以提示Redshift,它应该用来分发连接吗?例如,在:

代码语言:javascript
复制
FROM A
JOIN B
  ON  B.id = A.b_id
  AND B.x = some_expression_of(A.x)

在我的情况下,我知道所有的数据都是由这个X表达式分发的,所以如果Redshift按它分发,就不会有任何实际的网络活动。

编辑:下面是一个更有代表性的联接版本:

代码语言:javascript
复制
FROM order_products --distribution key: user_id
FULL OUTER JOIN order_payments --distribution key: user_id
   ON FALSE
LEFT JOIN orders --distribution key: user_id
   ON  orders.id = COALESCE(order_products.order_id, order_payments.order_id)
   AND orders.user_id = COALESCE(order_products.user_id, order_payments.user_id)

我想要的是能够告诉Redshift请根据user_id分发最后一个连接( Redshift可能被归类为DS_DIST_BOTH,但实际上不会导致网络重新分配)

EN

回答 1

Database Administration用户

发布于 2017-07-05 12:26:38

您不能像Oracle一样在Redshift中使用提示。您可以进行设置分发密钥之类的操作。如果X总是以这种方式使用,那么将它合并到您的DDL中可能是有意义的。

见此处:http://docs.aws.amazon.com/redshift/latest/dg/t_分配_data.html

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

https://dba.stackexchange.com/questions/178006

复制
相关文章

相似问题

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