以Sortkey顺序和VACUUM加载数据

时间:2015-05-04 18:48:18

标签: amazon-web-services amazon-redshift

我正在将表格的夜间快照加载到Redshift中。 我在表的末尾添加了一个名为“rundate”的列,它只表示数据是通过我的ETL进程提取的。它也是主要的排序键。

每晚的表格越来越长,其中很多都有400多列。

现在我将FILLRECORD与EMPTYASNULL一起使用以便将NULLS放入表中,一旦COPY命令完成,我使用

update table set rundate = 'date' where rundate is NULL

以获得正确的快照日期。

我想知道它是否仍被视为“以sortkey顺序加载数据”,我不需要抽真空。除此之外,不对任何记录进行更新/删除。

1 个答案:

答案 0 :(得分:3)

Unfortunately no. An update will perform a delete/insert leaving your entire load each day as dead records requiring VACUUM. I would recommend loading into an empty stage table instead and then inserting the data with the extra rundate column after staging.