物化视图用例

时间:2014-10-30 08:10:47

标签: database oracle11g materialized-views

我一直在学习物化视图以及它们的使用/可以使用的内容。

然而,我不知道它会如何有用,因为它不包含当前数据,因为刷新/更新需要时间。 同时查看现实生活场景,它用于a。)轻松网络负载和b。)根据oracle文档启用数据子集。现在,如果我有本地化服务器来减少负载,我可以创建一个本地化的数据库本身,它将满足国家特定谷歌服务器的本地数据。

如果有人能解释为什么在现实生活中使用物化观点。

2 个答案:

答案 0 :(得分:1)

  

为什么在现实生活中使用物化视图。

有很多原因,这取决于系统,应用程序,要求等。如果要自动保持数据与基表同步,那么您不需要为此编写自己的代码。 Oracle会自动为您完成。

另一件事是query rewrite。如果启用,优化程序可以使用物化视图进行查询。

有用,

  1. 数据仓库
  2. 分布式计算
  3. 移动计算
  4. 来自文档,

    The Need for Materialized Views

      

    您可以使用物化视图来提高查询速度   非常大的数据库。对大型数据库的查询通常涉及连接   表之间,SUM之类的聚合或两者。这些操作   在时间和处理能力方面是昂贵的。的类型   您创建的物化视图决定了物化视图的方式   刷新并由查询重写使用。

         

    物化视图通过预先计算来提高查询性能   对数据库之前的昂贵的连接和聚合操作   执行并将结果存储在数据库中。查询优化器   自动识别现有物化视图何时可以和   应该用来满足请求。然后它透明地重写   请求使用物化视图。查询直接进入   物化视图而不是底层细节表。一般来说,   重写查询以使用物化视图而不是详细信息表   改善响应时间。

    此处提出类似问题https://dba.stackexchange.com/questions/23280/why-not-use-a-table-instead-of-a-materialized-view

答案 1 :(得分:1)

如果您有两个单独的应用程序和一些相关数据,那么物化视图可以帮助进行安全数据通信。

让我举一个实时的例子。 假设您的应用程序依赖于外部数据,这可以通过以下方式实现。

  1. 每个时间间隔内运行作业的Excel / xml文件。
  2. 消息队列(MQ)。
  3. 物化视图。
  4. 如果您可以访问物理化视图,该视图从物理表中获取所需数据,那么您不必担心同步,因为物化视图会在特定时间间隔内刷新数据使用excel / xml文件。 此外,您不必担心数据安全性,因为它只是一种观点。