使用 UNION 的雪花查询性能

Snowflake query performance with UNION

我们有一堆查询,我们在查询时联合来自 3 table 秒的数据(我们从 3 个来源获取数据)。

我想知道如果我们将数据合并为一个 table(使用列源以便我们知道它来自哪里),查询性能是否会更好。

新 table 会更大,所以我不确定我们是否应该期待更好的性能。是否有关于此的一般指南?

扫描 3 tables VS 扫描 1 table 与合并内容应该没有显着差异。

但是,请确保您使用的是 UNION ALL 而不是 UNION。根据 SQL 标准,SQL 中的 UNION 消除了重复记录,而这样做的过程可能非常昂贵。

不幸的是,

在应该使用 UNION ALL 的地方使用 UNION 是我在 SQL 中看到的最常见的错误之一。我责怪标准,而不是用户:)

参见例如here 更多讨论。