我们知道greenplum是一个MPP数据连接线,我们每天都会从mysql导入数据到其中,主键可能会从不同的来源冲突。我正在设计模式,我不确定:
每个表都需要主键吗?
在官方文档中,默认使用主键进行分区,但我可以指定另一个键进行分区,是否还有其他原因需要设置主键?
发布于 2019-10-11 02:48:42
不需要,Greenplum中不需要主键。它实际上会降低加载性能,占用存储空间,并且可能不会用于任何查询。
分布键通常被设置为表的逻辑主键,但没有创建实际的主键。分布键应该是像主键一样的高基数列,这有助于在段之间均匀地分布数据。您还可以为分发密钥指定另一个密钥。
最后,我不认为这是一种对数据进行“分区”的方式,因为在Greenplum中,分区是另一回事。分区类似于Oracle或SQL Server分区,查询优化器根据查询中的条件(where month = 1)消除分区。
https://stackoverflow.com/questions/58326083
复制相似问题