我有一个名为"表A";里面有数以百万计的记录,按天划分。我有一个观点叫做";视图A";只不过是
select * from Table_A
而没有任何过滤条件。
现在我需要另一个视图,它将只获取最后5天的数据。但我不想在";表A";直接由于一些内部原因。
我想在";视图A";。
假设新视图被命名为";View_ live_ days";,这是摘要:
View_five_days指向View_A。
create view view_five_days as select * from view_a where day > currentdate - 5
View_A指向Table_A
create view view_a as select * from table_a
假设我在原始表中有100天的数据table_A:当我进行时,Athena会进行全表扫描吗
select * from View_five_days
还是只扫描最后5天的数据?
这取决于Table_A
是否按日期分区。如果是,则可以使用适当的where子句定义视图,并且只扫描最后五天。否则,它将扫描完整的日期列,以确定哪些行满足最后五天的条件。