Amazon redshift 红移列编码是否影响查询执行速度?

Amazon redshift 红移列编码是否影响查询执行速度?,amazon-redshift,Amazon Redshift,在Amazon Redshift中创建数据表时,可以指定各种类型,例如MOSTLY32或BYTEDICT或LZO。这些是在磁盘上存储列值时使用的压缩 我想知道我对编码的选择是否会对查询执行时间产生影响。例如,如果我创建一个列BYTEDICT,那么当涉及到选择、分组或筛选时,它是否会与LZO有所不同?是。使用的压缩编码转换为磁盘存储量。通常,存储越低,查询性能越好 但是,哪种编码对您更有利取决于您的数据类型及其分布。没有保证LZO永远比Bytedict好,反之亦然。根据我的经验,我通常在预期的表中

在Amazon Redshift中创建数据表时,可以指定各种类型,例如MOSTLY32或BYTEDICT或LZO。这些是在磁盘上存储列值时使用的压缩


我想知道我对编码的选择是否会对查询执行时间产生影响。例如,如果我创建一个列BYTEDICT,那么当涉及到选择、分组或筛选时,它是否会与LZO有所不同?

是。使用的压缩编码转换为磁盘存储量。通常,存储越低,查询性能越好


但是,哪种编码对您更有利取决于您的数据类型及其分布。没有保证LZO永远比Bytedict好,反之亦然。根据我的经验,我通常在预期的表中加载一些示例数据。而不是分析压缩。不管红移意味着什么,我都同意。这对我很有效

Amazon实际上已经发布了一个python脚本,可以将其自动应用到您的数据库中。您可以在此处找到此脚本

有点晚,但可能对任何查看此脚本的人都有用:

Amazon现在可以决定使用哪种最佳压缩(),如果您使用COPY命令加载表,并且表中没有定义现有压缩


你只需将
computipdate ON
添加到你的COPY命令中。

我在一张桌子上做了
ANALYZE
,看到了一些LZO,当时我认为它们可能是bytedicts。这就是问题的症结所在。然而,就像你一样,我也很想坚持红移的建议。我想那我就这么做。