哪个选项最适合选择列压缩编码[COPY VS ANALYZE COMPRESSION]

时间:2018-08-29 16:51:24

标签: amazon-redshift

场景:我必须更改现有表的列编码

a)如果我执行ANALYZE COMPRESSION table_name ---建议此方法对所有列(包括SORT-KEY列)使用ZSTD压缩。

b)我使用现有表的DDL创建了新表,并使用了copy命令以获得列压缩编码(将数据加载到空表中时,复制选择列压缩编码)--- COPY命令建议对所有列使用LZO,包括SORT-KEY列。

问题:

哪种方法正确或优化? SORT-KEY列压缩不好,所以用于SORT-KEY列的ZSTD是否可以提高性能?

2 个答案:

答案 0 :(得分:1)

ANALYZE COMPRESSION仅考虑基于存储的压缩效果,而未考虑其他因素。

在许多情况下,SORT KEY的第一列压缩得很好,并且通常被过滤(在where子句中的谓词)。如果出于某种原因您从未在列上进行过过滤(也许是合并联接),则可以压缩SORT KEY。

我们之所以建议对SORT KEY的第一列进行解压缩是因为,当对与您扫描的其他列相比高度压缩的列进行范围限制的扫描时,它可能会导致性能略有下降。

答案 1 :(得分:0)