sql – 物化视图与表:有什么优点?

很明显,为什么物化视图比查询基表更可取。什么不是很清楚的优点是,只需创建与MV相同的数据的另一个表。 MV的唯一优点就是简单易用的创建/维护?

不是一个MV相当于具有匹配模式的表和使用MVs SELECT语句的INSERT INTO?

意思是,你可以创建一个MV如下

CREATE MATERIALIZED VIEW ... AS
SELECT * FROM FOO;

你可以创建一个等效的表:

CREATE TABLE bar (....);
INSERT INTO bar 
SELECT * FROM FOO;

不是说容易创造/维护是不够的优势,我只是想确保我没有丢失任何东西。

Dynamic query rewriting.物化视图不仅定义了关系,还允许您预先计算昂贵的连接和聚合。即使在查询中没有明确使用MV(给定DB设置等)),优化器足够聪明地使用MV来获取相关数据。

您的问题标记为Oracle,但MSSQL也做类似的技巧。

http://stackoverflow.com/questions/4218657/materialized-view-vs-tables-what-are-the-advantages

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:sql – 物化视图与表:有什么优点?