Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

按排序键顺序加载数据

如果您按排序键顺序加载数据,可能会减少甚至消除对 vacuum 的需求。

当满足以下所有条件时,COPY 会向表的有序区域自动添加新行:

  • 表使用了只有一个排序列的复合排序键。

  • 排序列 NOT NULL。

  • 表 100% 有序或为空。

  • 所有新行的排序顺序均优先于现有行,包括标记为要删除的行。在此实例中,Amazon Redshift 使用排序键的前八个字节来确定排序顺序。

例如,假设您有一个使用客户 ID 和时间记录客户事件的表。如果按客户 ID 进行排序,则增量加载添加的新行的排序键范围可能会与现有范围重叠(如上一个示例中所示),从而导致昂贵的 vacuum 操作。

如果您将排序键设置为时间戳列,新行将按排序顺序追加到表的结尾(如下图所示),从而减少甚至消除对 vacuum 的需求。