将可空字段定义为sortkey和distkey是否可以? 我不希望有很多空值,但可能会发生。 感谢
答案 0 :(得分:2)
虽然Redshift可以使用可以为空的DIST键,但你必须小心。
如果DIST键列中有许多行具有相同的值(无论是NULL还是其他值),那么所有这些行都将在同一节点上结束。因此,建议使用提供值均匀分布的列,因为dist键,即任何值的频率与任何其他值类似。
当列可以为空时,与其他值相比,NULL值通常在频率方面存在偏差。这将导致节点之间的负载分布不均匀,并且在x1.large节点的情况下,您也可能快速耗尽该节点上的磁盘空间。
所以,我建议选择一个不允许NULL的列,但显然它也需要在逻辑上与你的连接模式匹配。如果您没有加入,我建议在这种情况下使用EVEN dist风格,以确保负载分布均匀。
答案 1 :(得分:0)
是的,它们都可以为空。
我们在prod数据库中将它们都置为null,并且工作正常。