视图(View) 和 物化视图(Materialized View) 都是数据库中的“虚拟表”概念,但它们的存储方式和查询机制有本质区别。
| 对比项 | 视图(View) | 物化视图(Materialized View) |
|---|---|---|
| 是否存储数据 | ❌ 不存储数据 | ✅ 实际存储数据 |
| 数据来源 | 实时查询基表 | 查询结果被保存 |
| 查询性能 | 较慢(每次都查) | 较快(直接读结果) |
| 数据实时性 | 实时 | 可能滞后(需刷新) |
| 占用空间 | 小 | 大 |
| 更新方式 | 自动随基表变化 | 手动 / 定时刷新 |
CREATE VIEW v_emp AS
SELECT id, name FROM employee WHERE dept = 'IT';
CREATE MATERIALIZED VIEW mv_sales
AS SELECT region, SUM(amount) FROM orders GROUP BY region;
-- 刷新
EXEC DBMS_MVIEW.REFRESH('mv_sales');
✅ 用 视图 当:
✅ 用 物化视图 当:
视图是“查询的别名”,物化视图是“查询的结果表”。
如果你用的是 MySQL / Oracle / PostgreSQL,我也可以讲它们各自对物化视图的支持差异。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。