Sac*_*iko 3 amazon-web-services amazon-redshift
让我问有关 redshift sortkey 的其他问题。我们计划使用 WHERE 语句中经常使用的列来设置排序键。
到目前为止,我们系统的最佳组合似乎是:DISTSTYLE EVEN + COMPOUND SORTKEY + COMPRESSED Column(第一个 SortKey 列除外)
只是想知道对于我们的BI表来说,简单的SORTKEY和复合SORTKEY哪个更好,可以根据用户的分析进行多样化的查询。
例如,我们在多个查询的 WHERE 语句中根据频率设置复合排序键,如下所示。
COMPOUND SORTKEY
(
PURCHASE_DATE <-- set as first sort key since it's date column.
STORE_ID,
CUTOMER_ID,
PRODUCT_ID
)
Run Code Online (Sandbox Code Playgroud)
但有时在实际查询中只能查询“Product ID”,不能与其他列出的排序键一起查询,也不能与COMPOUND KEY顺序不同进行查询。
那么,请问“COMPOUND SORTKEY”可能没用,还是简单的SORT KEY更有效......?
如果您能告诉我您的想法和经历,我将不胜感激。
Amazon Redshift 的简单规则是:
JOINWHERE您是正确的,只有包含PURCHASE_DATE在WHERE.
另一种方法是使用交错排序键,它为许多列提供相同的权重,并且可以在 .NET 中经常使用不同字段的地方使用WHERE。然而,交错排序键速度慢得多,VACUUM而且很少值得使用。
因此,目标是在大多数查询上使用 SORTKEY ,但不要太担心其他查询,除非遇到一些特定的性能问题。
请参阅:Redshift 排序键 - 选择最佳排序样式 | 赫沃博客
| 归档时间: |
|
| 查看次数: |
4235 次 |
| 最近记录: |