Redshift中的满载-DROP vs TRUNCATE

时间:2019-06-24 18:21:59

标签: amazon-redshift truncate vacuum

在Redshift中,作为日常负载的一部分,我有几张要删除的表并全部负载(数据大小很小,不到一百万)。

我的问题是,在Redshift中,以下两种策略中哪一种在CPU利用率和内存方面更好: 1)截断数据 2)删除并重新创建表。

如果我截断表,我应该每天对表执行清理操作,因为我已经知道频繁删除并在数据库中重新创建表会导致页面碎片。

我要启用压缩的表之一。因此,每天创建带有编码的DDL是否有任何弊端。

请指教!谢谢!

1 个答案:

答案 0 :(得分:1)

如果删除表,将失去对这些表的分配权限。如果您有这些表的视图,它们将过时。

截断是一个更好的选择,截断不需要抽空或分析,它是为这样的用例构建的。

有关更多信息,Redshift Truncate documentation