基于分区表创建动态视图

时间:2018-02-09 15:36:36

标签: sql amazon-redshift

我们有一个包含月度分区表的大型数据库。我需要每月汇总这些表格的选择,但我不想每个月都更新工会以添加新的月度表。

CREATE VIEW dynamic_view AS
SELECT timestamp, 
       traffic
FROM traffic_table_m_2017_01
UNION ALL 
SELECT timestamp, 
       traffic
FROM traffic_table_m_2017_02

这是我使用存储过程的地方吗?我对它们并不熟悉。

我认为它也会起作用:

SELECT timestamp, 
       traffic
FROM REPLACE(REPLACE('traffic_table_m_yyyy_mm', 
                     yyyy, FORMAT(GETDATE(),'yyyy', 'en-us')),
                     mm, FORMAT(GETDATE(),'mm', 'en-us'));

这可能适用于当月,但我需要保存过去几个月的数据,这也是一个问题。

1 个答案:

答案 0 :(得分:1)

你应该在每个表到达一个更大的表时附加每个表,然后针对它运行查询。有很多方法可以做到这一点,但可能最快,最优雅的是使用。 更改表附录 这里的说明https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE_APPEND.html