Jas*_*ngh 4 database database-design view materialized-views
视图和物化视图之间的实际区别是什么?
我浏览了很多链接,他们说普通视图就像虚拟表,数据不能存储在磁盘上,以防物化数据存储在磁盘上。但从那里我没有得到什么时候使用普通视图和何时使用物化视图之类的信息。如果我创建这两个视图,我可以在我的架构中看到。我想知道我们使用普通视图和物化视图的确切时间和地点。请给我提供实际示例的解决方案。
谢谢
APC*_*APC 13
视图只是一个存储的查询。这是保存一些复杂业务逻辑(联接、过滤器、派生值)的便捷方法,以便可以重用并与其他用户共享。
物化视图也是保存查询的一种方式,但它物化结果集。也就是说,它在磁盘上创建数据的副本。
使用物化视图的主要原因是提高性能。每次我们从视图中选择时,我们都会执行整个查询;如果这是一个昂贵的查询,那么我们每次都会付出代价。通过物化视图,我们用磁盘空间换取时间。
此外,我们可以将物化视图视为表:我们可以为它们建立索引,我们可以添加键约束,我们甚至可以在外键中引用它们。
不使用物化视图的主要原因是成本。它们占用磁盘空间。它们也必须得到维护。默认情况下,物化视图是静态的,这意味着它们的数据随着时间的推移逐渐变得陈旧。刷新物化视图可能会很麻烦(取决于底层查询)。而查询视图总是为我们提供最新的数据视图。
以下只是指导方针,并不完整或明确
何时使用视图
何时使用物化视图
您的问题的答案在文档(*)中。我无意重写那本精美的手册,但我会回答你的问题,因为一旦开始,我就注定要继续下去。
select * from user_extents where segment_name = 'name of mview'(*) 这是 Oracle 的文档,因为这是您的个人资料所建议的,但其他 RDBMS 平台也有类似的文档。
| 归档时间: |
|
| 查看次数: |
6588 次 |
| 最近记录: |