Advertisement

Oracle 利用物化视图日志快速刷新相关物化视图 (不积跬步,无以至千里)

阅读量:

Oracle采用物化视图日志来实现其快速刷新机制。 Oracle如何借助一个单一的物化视图日志来实现多个相关视图的高效更新? 本文将简要阐述这一机制的工作原理。

首先,看一下物化视图的结构:

SQL> create table t (id number, name varchar2(30), num number);

表已创建。

SQL>创建基于表t的行记录日志视图log,并带有行ID和序列号(id及名称)字段包含新增值;

实体化视图日志已创建。

SQL> 执行DESC命令以查看mlog$_t表的信息。\n\n\n\n\n\n\n\n\n\n\n\n表格信息如下:
------------------------- ----------------- -------------\nID 数字型
表名 存在字段? 字符串(最多30个字符)
M_ROW 数字型
SNAPTIME 字符串(最多1个字符)
OLD_NEW 二进制数据(长度为255)

在建立物化视图日志时,默认设置下会使用两个字段——"ID"与"NAME"——作为该基表中被指定使用的列,在建立物化视图日志的过程中用于记录对应于每次DML操作所涉及的ID及名称的信息。

M_ROW中的信息可以定位到发生DML操作的记录。

SEQUENCE中的顺序就可以和基表中的执行顺序保持一致。

SN

全部评论 (0)

还没有任何评论哟~