我很清楚为什么物化视图比仅查询基表更可取。不太清楚的是与仅创建另一个具有与 MV 相同数据的表相比的优势。 MV 的唯一优势真的只是易于创建/维护吗?
MV 不是相当于具有匹配架构的表和使用 MV SELECT 语句的 INSERT INTO 吗?
意思是,您可以按如下方式创建MV
CREATE MATERIALIZED VIEW ... AS
SELECT * FROM FOO;
您可以创建一个等效的表:
CREATE TABLE bar (....);
INSERT INTO bar
SELECT * FROM FOO;
并不是说易于创建/维护还不够,我只是想确保我没有错过任何东西。
动态查询重写 http://www.dba-oracle.com/art_mv.htm。物化视图不仅定义关系,还允许您预先计算昂贵的联接和聚合。即使 MV 未在查询中显式使用(给定数据库设置等),优化器也足够智能,可以使用 MV 获取相关数据。
你的问题被标记为 Oracle,但 MSSQL 也有类似的技巧。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)