【问题标题】:Create Materialized View from a virtual View从虚拟视图创建物化视图
【发布时间】:2015-02-11 03:04:21
【问题描述】:

我是 Oracle 和物化视图的新手。我为在我们的应用程序中产生很大瓶颈的数据创建了一个视图。为了降低虚拟视图的复杂性,将数据划分为反映某些业务领域的各个部分的虚拟视图。 IE。我要用于物化视图的主虚拟视图包含从部分虚拟视图连接的数据。

我的问题是,我是否可以从主虚拟视图创建一个物化视图。 Forther,我希望每次提交都更新数据。

create materialized view log on main_view;
create materialized view main_view_mv refresh fast on commit
as select col_1 from main_view;
commit;

是否可以创建物化视图?这些命令可以刷新物化视图吗?

感谢任何提示。

【问题讨论】:

  • 没有“虚拟”视图,它们只是视图。

标签: oracle view refresh materialized-views


【解决方案1】:

回答您的问题:不,您不能在视图上创建物化视图日志 - 只能在表上。 this answer

中描述了 FAST 可刷新物化视图的要求

物化视图并不是让慢视图快速执行的神奇工具。您可能需要检查为什么主视图很慢。

【讨论】:

  • 嗨 Hal 9000,实际上,数据是极度标准化的。使用任何 orm-library 都没有意义,因为数据已经准备好了,例如一个数据单元(jpa 实体)有许多信息提供者,并且在返回之前需要合并这些信息。每次搜索都需要返回大量实体。两个选项 1) 急切加载(尽管对象树非常平坦,但没有任何意义) 2) 延迟加载(同样没有意义,因为每个对象都需要按照之前的评论进行准备,但不仅如此)为此我们创建了意见。
  • 好的,但是当视图实际上只是一个合并时,为什么它是一个“瓶颈”。
  • 我真的不知道。可能是因为每次调用视图时,视图的查询(即连接和转置等)也会被执行?我现在正在阅读一本关于 Oracle 和物化视图的书。也许我会找到解决这个问题的方法。我希望如此。
猜你喜欢
  • 2014-04-25
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
相关资源
最近更新 更多