基于分区表创建动态视图



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

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个较大的表,然后对此进行查询。有很多方法可以做到这一点,但最快,最优雅的是使用。Alter表附加在此处https://docs.aws.amazon.com/redshift/latest/dg/r_alter_table_append.html

最新更新