视图
视图是保存下来的查询定义,用来复用查询逻辑、收敛口径或限制底层表暴露方式。
#type / concept
#status / growing
#tech / dev / backend
#resource / database
#resource / sql
[!info] related notes
视图
一句话定义
视图是数据库中保存下来的一段查询定义,可以像表一样被访问。
核心机制 / 工作原理
视图的常见用途是:
- 复用复杂查询
- 隐藏底层表结构细节
- 统一某类统计或筛选口径
- 作为权限边界,只暴露必要列或必要行
普通视图通常不直接存储数据,而是在访问时展开成底层查询。
最小例子 / 最小场景
CREATE VIEW paid_orders AS
SELECT *
FROM orders
WHERE status = 'paid';
之后可以写:
SELECT *
FROM paid_orders;
边界与易混淆点
- 视图通常不是独立的数据副本,而是查询封装。
- 视图不一定总能提升性能;它更擅长封装逻辑和统一口径。
- 物化视图是另一类概念,不应该和普通视图混为一谈。