【问题标题】:Snowflake invalid materialized view definition雪花无效的物化视图定义
【发布时间】:2020-02-14 13:16:32
【问题描述】:

在 Snowflake 中运行以下命令:

CREATE MATERIALIZED VIEW MV_CUSTOMER_PREFERENCE as select * from V_CUSTOMER_PREFERENCE;

我收到以下错误:

SQL 编译错误:位置 {1} 处的错误行 {0} 无效的实体化视图定义。视图定义中引用了多个表

V_CUSTOMER_PREFERENCE 是一个现有且正常运行的视图(可以单独查询),它连接来自不同表的信息。当我放置原始查询而不是视图时,我得到了同样的错误,这只是一个冗长而复杂的 SQL 查询。

视图中的查询可能有什么问题?从错误描述看不懂,在https://docs.snowflake.net/manuals/user-guide/views-materialized.html没有找到相关限制

【问题讨论】:

    标签: materialized-views snowflake-cloud-data-platform


    【解决方案1】:

    物化视图只能查询单个表。您可以在此处查看使用物化视图的限制列表: https://docs.snowflake.net/manuals/user-guide/views-materialized.html#limitations-on-creating-materialized-views

    【讨论】:

    • 所以没有有效的方法来实现包含多个表连接的复杂视图。
    【解决方案2】:

    没错:与其他数据库不同,Snowflake 中的 MVIEWS 是一个非常有针对性和简化的功能。它们有以下用例:

    • 为具有多个访问路径的表提供替代集群。
    • 为高使用率的列/行提供项目/限制。
    • 为高频查询和子查询提供预聚合。

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      相关资源
      最近更新 更多