Redshift 真空排序默认值
Posted
技术标签:
【中文标题】Redshift 真空排序默认值【英文标题】:Redshift vacuum sort default 【发布时间】:2018-12-22 00:49:42 【问题描述】:“默认情况下,VACUUM 会跳过任何表中超过 95% 的行已排序的表的排序阶段” 默认是 95 而不是 100 有什么原因吗?
100% 到 95% 的排序表的性能提升可以忽略不计吗?
【问题讨论】:
当我知道我没有实时限制时,我总是抽真空到 100%。性能差异取决于您的用例。为什么不运行一些基准来发现对您的情况的影响? @JonScott 谢谢。是的,我很好奇性能优势,并会尝试一些测试 【参考方案1】:VACUUM
是一个非常密集的操作。拥有 95% 与 100% 排序表的性能优势是最小的。因此,在VACUUM
操作中节省了大量的精力。
VACUUM documentation 说:
默认情况下,对于超过 95% 的表行已排序的任何表,VACUUM 都会跳过排序阶段。跳过排序阶段可以显着提高 VACUUM 性能。要更改单个表的默认排序或删除阈值,请在运行 VACUUM 时包含表名称和 TO 阈值 PERCENT 参数。
因此,如果需要,您始终可以强制进行 100% 排序。
【讨论】:
以上是关于Redshift 真空排序默认值的主要内容,如果未能解决你的问题,请参考以下文章
如果未提供列列表,Redshift COPY 命令将忽略表默认值
amazon redshift 中存储的特定行的默认值在哪里?
避免在 Redshift 上仅向日期时间字段提供时间时使用默认日期值