gpt4 book ai didi

amazon-redshift - 连接的 Redshift 排序键

转载 作者:行者123 更新时间:2023-12-02 02:48:53 27 4
gpt4 key购买 nike

我看了很多帖子,还是不清楚。对于星型模式,我认为如果我从维度表中进行查询,比如 d_article,我最终会得到一组用于查询/探测主要事实表的 SK (sk_article)。因此,在该暗表的 Where 子句中常​​用的字段上设置排序键是有意义的。

下一步...这是我找不到示例或答案的部分...我应该在事实表的排序键中包含 sk_article 吗?更具体地说,我是否应该为所有不同的 SK 创建一个交错排序键,因为我们并不总是使用相同的键来连接到事实表?

我只看到没有提及包括用于联接的排序键。

https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-sort-key.html

Amazon Redshift Foreign Keys - Sort or Interleaved Keys

最佳答案

Redshift Sort Key

排序键仅用于排序目的,不用于连接目的。可以有多个列定义为排序键。存储在表中的数据可以使用这些列进行排序。查询优化器在确定最佳查询计划时使用此排序表。

此外,正如 Tony 评论的那样,

排序键主要用于优化区域 map (有点像 BRIN 索引)的有效性并启用范围限制扫描。它们在大多数维度表上并不是那么有用,因为维度表通常很小。排序键唯一可以帮助提高连接性能的情况是,如果您为合并连接设置了所有内容——这通常只对大型事实表连接有意义。交错键更像是一种特殊情况的排序键,对任何连接都没有帮助。

这些键中的每一种类型都有特定的用途。 This可能适合您阅读。

对于联接、事实表和维度表,您应该使用分布键。

Redshift Distribution Keys (DIST Keys)

它确定数据在 Redshift 中的存储位置。集群基本上跨计算节点存储数据。当大量数据存储在单个节点上时,查询性能会受到影响。 Here适合您阅读。

我希望这能回答您的问题。

很好video session 就在这里,这可能对理解 SORT VS DIST Key 真的很有帮助。

关于amazon-redshift - 连接的 Redshift 排序键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53060766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com