Redshift 中的满载 - DROP 与 TRUNCATE

Full Load in Redshift - DROP vs TRUNCATE

作为 Redshift 日常负载的一部分,我有几个表要删除并全部加载,(数据量很小,不到 100 万)。

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

如果我截断表,我是否应该每天对表执行 Vacuum,因为我读到过频繁删除和重新创建数据库中的表会导致页面碎片化。

其中一张表我想启用压缩。那么,每天用编码创建 DDL 有什么缺点吗?

请指教!谢谢!

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

Truncate 是一个更好的选择,truncate 不需要 vacuum 或 analyze,它是为这样的用例构建的。

更多信息Redshift Truncate documentation