如何解决Athena 嵌套视图性能
我有一个名为“Table_A”的 Athena 表,其中有数百万条记录,按天分区。 我有一个名为“View_A”的视图,它只不过是
select * from Table_A
没有任何过滤条件。
现在我需要另一个视图,它只能获取过去 5 天的数据。但由于某些内部原因,我不希望直接在“Table_A”之上创建这个新视图。
我想要在“View_A”之上的这个新视图。
假设新视图被命名为“View_five_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
假设我在原始表 Table_A 中有 100 天的数据:当我执行以下操作时,Athena 是否会进行全表扫描:
select * from View_five_days
还是只扫描最近 5 天的数据?
解决方法
这取决于 Table_A
是否按日期分区。如果是,那么您可以使用适当的 where 子句定义视图,并且只扫描最近五天。否则,它将扫描完整日期列以找出哪些行满足过去五天的条件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。