温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Materialized View物化视图是什么

发布时间:2026-09-22 06:48:42 来源:亿速云 阅读:115 作者:小樊 栏目:数据库

Materialized View(物化视图) 是一种数据库对象,可以理解为“把查询结果提前算好并保存下来的视图”。


1. 和普通视图(View)的区别

对比项 普通视图(View) 物化视图(Materialized View)
数据存储 不存数据,只存 SQL 定义 真正存储查询结果数据
查询方式 每次查询都执行底层 SQL 直接读已存储的数据
性能 可能慢(依赖原表) 通常很快
数据时效性 实时 可能是“旧”的(需刷新)

简单说:

  • View = 公式
  • Materialized View = 公式算出来的结果表

2. 物化视图是什么

物化视图是:

将一条 SELECT 查询的结果 物理存储 在磁盘上,形成一张“表”。

后续查询可以直接读这张表,而不用重复计算。


3. 典型使用场景

  • 复杂报表 / 聚合统计(SUM、COUNT、JOIN)
  • 数据仓库、BI 系统
  • 跨库或跨表的大查询
  • 读多写少、对实时性要求不极高的场景

例如:

CREATE MATERIALIZED VIEW mv_sales_summary AS
SELECT region, SUM(amount)
FROM sales
GROUP BY region;

查询时:

SELECT * FROM mv_sales_summary;

→ 直接读结果,非常快。


4. 数据怎么“更新”?

物化视图的数据不会自动和原表实时同步,需要 刷新(Refresh):

  • 全量刷新:重新执行整个查询
  • 增量刷新:只更新变化的数据(部分数据库支持)

示例(PostgreSQL):

REFRESH MATERIALIZED VIEW mv_sales_summary;

有些系统支持:

  • 定时刷新
  • 手动刷新
  • 自动刷新(如 Oracle)

5. 优缺点

✅ 优点

  • 查询性能极高
  • 降低原表压力
  • 适合复杂计算

❌ 缺点

  • 占用存储空间
  • 数据可能不是最新的
  • 维护成本(刷新策略)

6. 常见支持物化视图的数据库

  • Oracle(最完整)
  • PostgreSQL
  • SQL Server(Indexed View)
  • ClickHouse / Greenplum / Redshift 等数仓

如果你愿意,我也可以用 某个具体数据库(如 PostgreSQL / Oracle) 给你讲物化视图的用法和示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手