代码之家  ›  专栏  ›  技术社区  ›  Phillip Ngan

Oracle材质视图与分析工作区

  •  2
  • Phillip Ngan  · 技术社区  · 16 年前

    在Oracle中,使用物化视图和分析工作区的优缺点是什么?使用这些功能的最佳实践是什么?

    2 回复  |  直到 16 年前
        1
  •  3
  •   moleboy    11 年前

    我也从未使用过分析工作区,但是MVs有一些真正的缺点(尽管我们确实使用它们)。两件事:


    1. 对我们来说,我们认为这发生在两种情况下:

      • 对于远程系统,如果在刷新期间断开与该远程系统的连接,则MV可能永远不会再次刷新,可能必须断开并重建。
      • 如果MV所基于的其中一个表改变了结构,那么同样的事情似乎也会发生。例如,我有一个MV,它是使用查询“select*fromMyWork”构建的。在某个时候,我发出alter命令将列FirstName从varchar2(100)更改为varchar2(150)。在这一点上,我们经常看到MV刷新失败,并且永远无法恢复。

    具体细节其实并不重要,重要的是你必须监控你的MVs,以确保他们的数据是最新的。

        2
  •  1
  •   Rob    16 年前

    但是,物化视图可能非常有用。它们本质上是缓存的视图结果,您可以在其上进行构建索引等操作。与“实时”数据相比,它们可能会变得过时,但速度要快得多(取决于您的数据和查询),具体取决于它们的配置方式(有无日志)。

    如果您正在处理远程数据(数据库链接),物化视图允许您在本地缓存数据。如果您对数据进行缓慢的计算,则物化视图可以让您缓存结果(可能是过时的)。

    物化视图非常方便,只需要明智地实现它们。