当前位置: 首页 > 网络应用技术

什么是实体视图?如何创建孔口实体视图?

时间:2023-03-06 17:01:56 网络应用技术

  该视图是一个虚拟表(也可以视为语句),它基于创建时指定的查询语句的结果。每个访问将导致此查询语句被执行一次。为了避免执行此问题查询每次访问时,此查询结果集可以存储到实体视图(也称为物理视图)中。

  物质化观点和普通观点之间的区别在于,实现的观点是该机构的副本。它与表相似,需要占据存储空间。实现的视图查询的执行效率与查询相同。

  创建实现的视图时,立即构建即时生成数据。

  构建延期在创建时不会生成数据,然后根据需要重新生成数据。

  默认值是立即构建的。

  刷新(刷新):当基本表发生时,当DML操作发生时,当材料视图用于同步和基础表时。

  刷新后有三种指定的刷新方法:快速,完整和力。

  快速刷新使用增量刷新,仅在最后一次刷新后刷新修改。

  完整的刷新完全刷新了整个实现的视图。

  如果选择了力方法,Oracle将确定在刷新时是否可以快速刷新它。如果可以使用,则可以使用它,否则使用完整的方法。

  力是默认方法。

  有两种刷新模式:按需和提交。

  按需指的是需要手动刷新实现的视图(默认值)。

  在提交操作发生时会自动刷新。

  要求:查询地址ID,地址名称和区域名称,结果如下:

  陈述:

  执行上面的句子后查询

  查询结果如下:

  目前,我们将新记录插入地址表(T_Address),

  在再次执行上述查询句子后,您会发现新插入的句子未出现在实体视图中。

  我们需要通过以下声明(PL/SQL)手动刷新实现的视图:

  或通过以下命令手动刷新物质化视图:

  执行此命令后,再次检查实现的视图,您可以查询最新数据。

  dbms_mview.refresh实际上是一个构建的系统 - 存储过程。我们还将介绍存储过程。

  该句子如下:

  创建此实体视图后,当T_Address表更改时,MV_ADDRESS2将自动更改。

  创建创建后,执行以下句子以查询实现的视图

  搜索结果:

  执行以下语句生成数据

  再次查询,获取结果:

  因为在创建创建时指定的“提交”,我们可以在修改数据后立即查看最新数据,因此无需再次执行刷新。

  如果创建一个增量物质化视图,则必须首先创建一个实现的视图日志

  创建的实体视图日志名称为MLOG $ _表名

  创建一个实现的视图

  注意:创建一个实现的增量刷新视图,必须:

  (1)创建涉及实现视图的实体视图日志。

  (2)在查询语句中,所有表的行列必须

  当我们将数据插入地址表时,实体视图日志的内容:

  Snaptime $ $:用于指示刷新时间。

  dmltype $ $:用于表示DML操作类型,我代表插入,d表示删除,U代表更新。

  表示旧值,U表示更新操作。

  Change_Vector $ $:这意味着修改向量以指示修改哪个字段或字段。

  此列是原始类型。实际上,甲骨文采用的方法是用每个位映射列。

  插入操作显示为:Fe,删除显示:OO更新操作根据更新字段的位置显示不同的值。

  当我们手动刷新实现的视图时,实现的视图日志为空,并更新了实现的视图。