gpt4 book ai didi

Oracle 物化日志上有多个物化 View

转载 作者:行者123 更新时间:2023-12-01 22:54:08 29 4
gpt4 key购买 nike

我想要多个物化 View ,并且在提交时可以快速刷新。

为了“提交时快速刷新”,您需要物化 View 日志。显然,提交时的快速刷新需要日志。问题是我是否可以有多个物化 View 访问日志。

显然我仍然需要日志来满足正常的先决条件(跨所有 View ): http://docs.oracle.com/cd/B19306_01/server.102/b14223/basicmv.htm

提前为任何帮助干杯。

最佳答案

当然。

create table data_table as (
select *
from dba_users
);

alter table data_table
add constraint data_table_test_pk PRIMARY KEY (user_id);

select * from data_table;

现在我们有一个类似于 dba_users 的表,带有 PRIMARY KEY 约束。

create materialized view log on data_table;

create materialized view mat_view_one
refresh fast on commit
as
select username, user_id
from data_table
;

create materialized view mat_view_two
refresh fast on commit
as
select user_id, username, account_status
from data_table;

这是我们的日志,并且 2 个 View 创建成功。测试表中的SYS记录:

select * from mat_view_one
where user_id=0;

USERNAME USER_ID
------------------------------ ----------
SYS 0

select * from mat_view_two
where user_id=0;

USER_ID USERNAME ACCOUNT_STATUS
---------- ------------------------------ --------------------------------
0 SYS OPEN

现在让我们更新 SYS 的名称并提交,看看我们的 View 显示什么:

update data_table
set username='WALTERWHITE'
WHERE USER_ID=0
;
COMMIT;
USERNAME USER_ID
------------------------------ ----------
WALTERWHITE 0

USER_ID USERNAME ACCOUNT_STATUS
---------- ------------------------------ --------------------------------
0 WALTERWHITE OPEN

所以是的,绝对如此。只要保持适当的约束,1 个物化 View 日志就可以根据需要提供任意数量的物化 View 。

关于Oracle 物化日志上有多个物化 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331045/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com