我正在将表格的夜间快照加载到Redshift中。 我在表的末尾添加了一个名为“rundate”的列,它只表示数据是通过我的ETL进程提取的。它也是主要的排序键。
每晚的表格越来越长,其中很多都有400多列。
现在我将FILLRECORD与EMPTYASNULL一起使用以便将NULLS放入表中,一旦COPY命令完成,我使用
update table set rundate = 'date' where rundate is NULL
以获得正确的快照日期。
我想知道它是否仍被视为“以sortkey顺序加载数据”,我不需要抽真空。除此之外,不对任何记录进行更新/删除。
答案 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.