【问题标题】:Performance issue with Snowflake views雪花视图的性能问题
【发布时间】:2020-04-09 06:11:12
【问题描述】:

我有两个不同的 Snowflake 实例。在第一个实例中,我创建了一个物化视图,通过连接事实表和 3-4 个维度表来带来数据。

Create View V1 as
Select Col1, Col2, Col3, Col4 
From Fact_t1 
inner join Dim1 
inner join Dim2 
inner join Dim3

除此之外,我还创建了一个安全视图。出于报告和 BI 目的,我与第二个实例共享此安全视图。

现在,当我们从第二个实例查询安全视图时,我们面临着许多性能问题,查询运行时间超过 30 分钟。

我们根据要求在小型或中型上运行此程序。我们尝试将尺寸更改为 XL,我们获得了一些性能,但似乎仍有延迟。

以下是 Snowflake DB 的详细信息: 尺寸:小/中 表容量:1.4 M(实际上),100K+ 尺寸

您能否建议您还可以做什么?发生这种情况是因为我们在视图上创建了安全视图吗?

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    Snowflake 不支持实体化视图中的多表连接。首先,您不是在创建物化视图,而是创建视图。每次对视图进行投影时,都会从远程存储中的基础表中检索数据,除非数据在缓存中并且在过去 24 小时内未更改。

    由于 100+ x 1.4M 数据的连接正在发生,这将从远程存储中带来数百万行。将在这百万条记录上进行连接操作,因此处理将花费相当长的时间。

    要提高性能,请改为创建一个临时表并在安全视图中引用该表以获得最佳性能。

    【讨论】:

    • 谢谢,我试试看。
    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2021-11-11
    • 1970-01-01
    • 2017-12-08
    • 2021-08-27
    相关资源
    最近更新 更多