首页 > 解决方案 > 创建一个由几个表组成的视图

问题描述

我的一个客户想要创建一个UNION包含几个表的视图。

来自客户:

这些表由流数据源填充,并且已经相当大了。由于设置操作的应用方式,此视图的任何查询都会导致性能问题,因为任何过滤器/谓词都会在UNIONs. 我知道您无法通过UNION操作实现视图,所以我想知道 Snowflake 是否推荐任何其他解决方案,而不是构建一个单独的表来联合组成表。

标签: snowflake-cloud-data-platform

解决方案


在 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)
)
;

查询计划


推荐阅读