跳到主要内容

物理视图

物理视图与虚拟视图有什么区别?​

  • 定义: 把经常使用的虚拟视图进行物理存储;
  • 收益: 查询时直接读已存结果, 不必每次重新计算;
  • 代价: 需要额外存储空间, 并要维护与基表的一致性;

怎样定义物理视图?​

  • 语法: CREATE MATERIALIZED VIEW <视图名> AS <查询>;
CREATE MATERIALIZED VIEW MovieProd AS
SELECT title, year, name
FROM Movies, MovieExec
WHERE producerC = cert;

物理视图怎样更新?​

  • 教程口径: 物理视图可进行任何更新操作, 更新操作与直接操作表相同, 更新会作用于对应表;
  • 反向同步: 关系的更新总会影响到对应视图;
  • 边界: 不同数据库对物化视图的可更新性与刷新策略支持不同;

(source: 070-视图和索引.md §物理视图)