Redshift 允许将多个列指定为SORTKEY
列,但大多数最佳实践文档的编写方式都好像只有一个 SORTKEY。
如果我创建一个表SORTKEY (COL1, COL2)
,这是否意味着所有列都按 COL1 排序,然后按 COL2 存储?或者,因为它是一个列存储,所以每一列都以不同的顺序存储?即 COL1 中的 COL1 顺序,COL2 顺序中的 COL2,而其他列无序?
我的情况是我有一个表(其中包括)一个 type_id 和一个时间戳列。数据大致按时间戳顺序到达。大多数查询都受到 type_id 和时间戳的限制。通常 type_id 子句更具体,这意味着通过查看 type_id 子句可以排除比查看时间戳子句更大比例的行。出于这个原因,type_id 是 DISTKEY。SORTKEY (type_id)
我试图了解, SORTKEY (stamp)
, SORTKEY (type_id,stamp)
,的优缺点SORTKEY (stamp,type_id)
。
谢谢。