gpt4 book ai didi

Oracle - Materialized View,这个MV可以快速刷新吗?

转载 作者:行者123 更新时间:2023-12-02 02:23:48 24 4
gpt4 key购买 nike

我有一个类似于下图的物化 View ,我想知道是否可以让这个物化 View “快速”刷新?基本上,我要问以下问题:

  1. 物化 View 是否可以包含 Oracle 函数,如 COALESCE、NVL、NVL2 等,并且仍然可以快速刷新

  2. 实体化 View 是否可以包含我创建的函数并且仍然可以快速刷新。

  3. 物化 View 是否可以包含对派生表的连接并且仍然可以快速刷新?

我检查了 Oracle documentation关于这一点,它没有列出这些限制,但是在我自己的系统上测试了下面的案例后,我不相信这是可能的。

Oracle 版本:10g

SELECT COALESCE (col1, col2),
myOracleFunction(col3, col4)
FROM tableA a
LEFT OUTER JOIN
(SELECT id, MAX (sample_key) prim_sam_key
FROM table_sample
GROUP BY id
HAVING COUNT (1) = 1) b ON a.id = b.id;

最佳答案

来自 link you provided 的要求你错过了:

  • COUNT(*) must be specified.
  • The SELECT list must contain all GROUP BY columns.

此外,以下要求表明,对于您的查询,只有在 table_sample 已更新但 tableA 尚未更新时才能快速刷新:

  • Materialized aggregate views with outer joins are fast refreshable after conventional DML and direct loads, provided only the outer table has been modified. Also, unique constraints must exist on the join columns of the inner join table. If there are outer joins, all the joins must be connected by ANDs and must use the equality (=) operator.

最后,当询问物化 View 时,准确说明您创建的物化 View 日志始终是个好主意。

关于Oracle - Materialized View,这个MV可以快速刷新吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com