创建一个由几个表组成的视图
Posted
技术标签:
【中文标题】创建一个由几个表组成的视图【英文标题】:Creating a View that is a UNION of a few tables 【发布时间】:2019-12-04 21:30:12 【问题描述】:我的一个客户想要创建一个包含几个表的UNION
视图。
来自客户:
这些表由流式数据源填充,非常漂亮 已经相当大了。由于如何应用集合操作,任何 此视图的查询导致性能问题,因为任何 在
UNION
s 之后应用过滤器/谓词。我知道你 无法使用UNION
操作实现视图,所以我想知道 如果雪花推荐任何其他解决方案,而不是构建一个 合并组成表的单独表。
【问题讨论】:
答案可能很大程度上取决于您的数据细节。一般来说:我建议查看查询配置文件,看看您是否可以找到允许查询进行更多修剪的方法。 docs.snowflake.net/manuals/user-guide/ui-query-profile.html 【参考方案1】:在 UNION 之前,我创建了如下视图,并且修剪按预期工作。
我想知道他们的问题是否是由于UNION
(具有重复数据删除的性能损失)与UNION ALL
的对比
create or replace view test_unions
(
mycol1,
mycol2,
mycol3
) as (
(select mycol1,mycol2,mycol3 from tableA)
union all (select mycol1,mycol2,mycol3 from tableB)
union all (select mycol1,mycol2,mycol3 from tableC)
)
;
【讨论】:
以上是关于创建一个由几个表组成的视图的主要内容,如果未能解决你的问题,请参考以下文章