AWS Redshift团队建议使用TRUNCATE来清理大型表。 我有一个连续的EC2服务,该服务不断向表中添加行。我想应用一些清除机制,以便当群集接近满时它将自动删除旧行(例如使用索引列)。
答案 0 :(得分:0)
处理连续数据的一种常见做法是为每个月创建一个单独的表,例如Sales-2018-01
,Sales-2018-02
。
然后创建一个合并表的VIEW
:
CREATE VIEW sales AS
SELECT * FROM Sales-2018-01
UNION
SELECT * FROM Sales-2018-02
然后,每月创建一个新表,并从视图中删除最旧的月份。这样可以有效地提供12个月的数据滚动视图。
好处是不必从表中删除数据(这将需要VACUUM
)。取而代之的是,可以简单地删除旧表,或保留旧表以供使用其他视图的历史报告。