场景:我必须更改现有表的列编码
a)如果我执行ANALYZE COMPRESSION table_name ---建议此方法对所有列(包括SORT-KEY列)使用ZSTD压缩。
b)我使用现有表的DDL创建了新表,并使用了copy命令以获得列压缩编码(将数据加载到空表中时,复制选择列压缩编码)--- COPY命令建议对所有列使用LZO,包括SORT-KEY列。
问题:
哪种方法正确或优化? SORT-KEY列压缩不好,所以用于SORT-KEY列的ZSTD是否可以提高性能?
答案 0 :(得分:1)
ANALYZE COMPRESSION仅考虑基于存储的压缩效果,而未考虑其他因素。
在许多情况下,SORT KEY的第一列压缩得很好,并且通常被过滤(在where子句中的谓词)。如果出于某种原因您从未在列上进行过过滤(也许是合并联接),则可以压缩SORT KEY。
我们之所以建议对SORT KEY的第一列进行解压缩是因为,当对与您扫描的其他列相比高度压缩的列进行范围限制的扫描时,它可能会导致性能略有下降。
答案 1 :(得分:0)