Sql 使用Diststyle的桌子在Amazon红移中应该有多小?

Sql 使用Diststyle的桌子在Amazon红移中应该有多小?,sql,amazon-web-services,amazon-redshift,Sql,Amazon Web Services,Amazon Redshift,使用Diststyle的桌子在Amazon红移中应该有多小 上面写着: 对于非常小的表,redshift应该使用diststyle ALL,而不是偶数或键。小是多小?如果要在查询的where子句中指定行号:select relname,reldiststyle from pg_class我应该指定多少行?这实际上取决于您使用的集群大小。DISTSTYLE ALL将把表中的数据复制到所有节点,以减轻跨节点的数据传输需求。您可以找出表的大小和红移节点的可用大小,如果您能够为每个节点复制多次表,请执行

使用Diststyle的桌子在Amazon红移中应该有多小

上面写着:
对于非常小的表,redshift应该使用diststyle ALL,而不是偶数或键。小是多小?如果要在查询的where子句中指定行号:
select relname,reldiststyle from pg_class
我应该指定多少行?

这实际上取决于您使用的集群大小。DISTSTYLE ALL将把表中的数据复制到所有节点,以减轻跨节点的数据传输需求。您可以找出表的大小和红移节点的可用大小,如果您能够为每个节点复制多次表,请执行此操作

另外,如果您需要非常频繁地将其他表与此表连接起来,比如在70%的查询中,我相信如果您想要更好的查询性能,那么这是值得的

如果表之间的连接键在基数方面相同,那么您还可以在该键上分发所有表,以便相似的键位于同一节点中,从而避免数据复制


我建议尝试上面的两个选项,比较大约10个查询的平均查询运行时间,然后做出决定。

考虑星型模式,分布样式All通常用于维度表。这样做有利于加快联接,让我们通过一个示例来解释这一点。如果我们想按国家获得每种产品的销售数量,我们需要将事实销售与商店id键上的dim_store表结合起来


因此,在dim_store上设置diststyle all使我们能够并行地执行连接结果,而启用diststyle偶数时使用洗牌的缺点是。但是,您可以通过设置distyle auto,让Redshift自动处理最佳的分发样式,以查看更多信息检查链接。

还取决于您的数据集和使用情况。如果表的行数大于50M,则小表可以是