哪个选项最适合选择列压缩编码 [ 复制与分析压缩 ]



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

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

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

问题:

哪种方法是正确的或优化的? SORT-KEY 列压缩不好,那么 ZSTD for SORT-KEY 列会提高性能吗?

分析压缩仅查看基于存储的压缩有效性,而不考虑其他因素。

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

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

https://forums.aws.amazon.com/thread.jspa?threadID=252583 https://discourse.snowplowanalytics.com/t/make-big-data-small-again-with-redshift-zstd-compression/1280

可能上面的线程有助于它。

最新更新