DBMS 中的物化视图是什么?
物化视图是其内容被计算和存储的视图。物化视图也是一个逻辑虚拟表,但在这种情况下,查询的结果存储在表中或磁盘中。物化视图的性能优于普通视图,因为数据存储在磁盘中。
它也被称为索引视图,因为在查询之后创建的表被索引并且可以更快更有效地访问。
示例
考虑下面给出的观点-
Create view branchloan(branch-name, total-loan) as select branch-name , sum(amount) from loan groupby branch-name;
如果经常需要贷款总额,则实现上述观点将特别有用。
它节省了查找多个元组并将它们的数量相加的工作。
使物化视图与底层数据保持同步的任务称为物化视图维护。它可以通过在每次更新时重新编译来维护。
更好的选择是使用增量视图维护。它对数据库关系的更改用于计算对物化视图的更改,然后更新。
查看维护可以通过以下方式完成-
手动定义视图定义中每个关系的插入、删除和更新触发器。
每当更新数据库关系时手动编写的代码来更新视图。
由数据库直接支持。
增量视图维护
对关系或表达式的插入和删除操作等变化称为其微分,插入到r和从r删除的元组集表示为ir和dr。
为了简化我们的描述,让我们考虑插入和删除,我们通过删除元组然后插入更新的元组来替换对元组的更新。
我们描述了如何计算每个关系操作结果的变化,给定其输入的变化。然后我们概述了如何处理关系代数表达式。
物化视图选择
实体化视图选择决策必须基于系统工作负载做出。索引就像物化视图,索引选择的问题与物化视图选择密切相关,虽然它更简单。
一些数据库系统提供工具来帮助数据库管理员进行索引和物化视图选择。