【问题标题】:Using a Materialized View, can you generate a Two-Timestamp view from a One-Timestamp table?使用物化视图,您可以从 One-Timestamp 表生成 Two-Timestamp 视图吗?
【发布时间】:2023-03-28 22:15:01
【问题描述】:

这个问题是关于 Kimball 维度风格的两个时间戳表,但不一定遵循全星模式/雪花方案。只需简单的 START_DATE_TIME 和 END_DATE_TIME 来描述某些记录随时间推移的有效性。

如果您从一个只有“开始时间戳”的表开始,是否可以生成一个具有两个时间戳的实体化视图,并有效地(增量地)刷新它?

出于讨论目的,假设将使用最新版本的 Microsoft SQL Server。

【问题讨论】:

    标签: sql sql-server data-warehouse ddl materialized-views


    【解决方案1】:

    不,这对于 SQL Server 索引视图是不可能的(索引是 SQL Server 中的物化视图机制)

    very many limitations 在它们可能包含的构造上,自连接、子查询和 OVER 子句/排名/聚合窗口函数都在其中列出。

    最后一个限制排除了使用LagLead 等来获取下一个时间戳,并且如果没有窗口函数,您仍然会遇到上面列出的其他限制之一尝试执行此操作。

    【讨论】:

    • 谢谢。正是我不想听到但害怕我会听到的:)
    猜你喜欢
    • 2016-08-19
    • 2021-10-09
    • 2017-07-12
    • 1970-01-01
    • 2014-07-06
    • 2011-04-24
    • 2020-02-20
    • 1970-01-01
    • 2020-03-13
    相关资源
    最近更新 更多