在Redshift中,作为日常负载的一部分,我有几张要删除的表并全部负载(数据大小很小,不到一百万)。
我的问题是,在Redshift中,以下两种策略中哪一种在CPU利用率和内存方面更好: 1)截断数据 2)删除并重新创建表。
如果我截断表,我应该每天对表执行清理操作,因为我已经知道频繁删除并在数据库中重新创建表会导致页面碎片。
我要启用压缩的表之一。因此,每天创建带有编码的DDL是否有任何弊端。
请指教!谢谢!
答案 0 :(得分:1)
如果删除表,将失去对这些表的分配权限。如果您有这些表的视图,它们将过时。
截断是一个更好的选择,截断不需要抽空或分析,它是为这样的用例构建的。