【问题标题】:Oracle's materialized view: How to determine whether original tables were changed?Oracle的物化视图:如何判断原表是否被更改?
【发布时间】:2011-11-03 23:22:52
【问题描述】:

我在许多桌子上创建了一个 MV。我不想自动刷新它。我只想知道原始表是否已更改。最好的方法是什么?

【问题讨论】:

  • 你到底想做什么?

标签: oracle materialized-views


【解决方案1】:

如果您创建了快速刷新 MV,您还可以在基表上创建 Materialied View 日志。 您可以从相应的 MV 日志中发出 select count(*)(是包含表名和 M_$ 或类似内容的表)。

但是,如果您只想知道是否需要刷新,则可以安全地进行快速刷新。如果没有要刷新的行,它将以光速运行。

【讨论】:

  • 所以没有包含 MV 是否真实的信息的 oracle 视图?
  • 只有快速刷新的 MV 才会保留此类信息。正如我所说,您可以检查物化视图日志
  • 怎么样:“SELECT STALENESS FROM user_mviews WHERE mview_name = ...”,是不是很好的解决方案?
  • 看来你是对的download.oracle.com/docs/cd/B19306_01/server.102/b14237/…是的,我觉得这个flag值得信赖,你可以测试一下。
猜你喜欢
  • 1970-01-01
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
  • 1970-01-01
  • 2016-07-29
  • 2011-02-16
  • 2010-09-09
相关资源
最近更新 更多