Redshift KEY分布样式下distribution key是否允许为NULL值?
Redshift KEY分布样式下分布键的NULL值规则
当Amazon Redshift的分布样式设置为KEY时,对应的分布键不需要强制设置非NULL约束,完全可以存储NULL值,相关规则和注意事项如下:
- 所有分布键取值为NULL的行,会被统一哈希分配到集群的同一个切片(Slice)中存储,写入操作不会触发任何报错
- 不建议分布键存在大量NULL值:如果NULL在分布键中的占比过高,会导致数据分布严重倾斜,对应承载所有NULL行的切片资源过载,大幅降低全表的查询、计算性能
- 若业务场景下分布键的NULL占比极低(通常建议低于1%),对整体数据分布均衡性影响很小,可以正常保留NULL值,无需额外添加非NULL约束
- 如果你需要避免NULL带来的分布倾斜问题,可以选择给分布键的NULL值填充业务无意义的默认值(比如-1、空字符串等),或者更换区分度更高的字段作为分布键
内容的提问来源于stack exchange,提问作者Apoorva Bhardwaj
相关产品推荐
相关产品推荐

