我一直在学习物化视图以及它们的使用/可以使用的内容。
然而,我不知道它会如何有用,因为它不包含当前数据,因为刷新/更新需要时间。 同时查看现实生活场景,它用于a。)轻松网络负载和b。)根据oracle文档启用数据子集。现在,如果我有本地化服务器来减少负载,我可以创建一个本地化的数据库本身,它将满足国家特定谷歌服务器的本地数据。
如果有人能解释为什么在现实生活中使用物化观点。
答案 0 :(得分:1)
为什么在现实生活中使用物化视图。
有很多原因,这取决于系统,应用程序,要求等。如果要自动保持数据与基表同步,那么您不需要为此编写自己的代码。 Oracle会自动为您完成。
另一件事是query rewrite
。如果启用,优化程序可以使用物化视图进行查询。
有用,
来自文档,
The Need for Materialized Views
您可以使用物化视图来提高查询速度 非常大的数据库。对大型数据库的查询通常涉及连接 表之间,SUM之类的聚合或两者。这些操作 在时间和处理能力方面是昂贵的。的类型 您创建的物化视图决定了物化视图的方式 刷新并由查询重写使用。
物化视图通过预先计算来提高查询性能 对数据库之前的昂贵的连接和聚合操作 执行并将结果存储在数据库中。查询优化器 自动识别现有物化视图何时可以和 应该用来满足请求。然后它透明地重写 请求使用物化视图。查询直接进入 物化视图而不是底层细节表。一般来说, 重写查询以使用物化视图而不是详细信息表 改善响应时间。
此处提出类似问题https://dba.stackexchange.com/questions/23280/why-not-use-a-table-instead-of-a-materialized-view
答案 1 :(得分:1)
如果您有两个单独的应用程序和一些相关数据,那么物化视图可以帮助进行安全数据通信。
让我举一个实时的例子。 假设您的应用程序依赖于外部数据,这可以通过以下方式实现。
如果您可以访问物理化视图,该视图从物理表中获取所需数据,那么您不必担心同步,因为物化视图会在特定时间间隔内刷新数据使用excel / xml文件。 此外,您不必担心数据安全性,因为它只是一种观点。