建立快照:
CREATE SNAPSHOT table1
BUILD IMMEDIATE
REFRESH FORCE
ON DEMAND
AS
SELECT *
FROM table1_old
UNION ALL
SELECT *
FROM table1_new
建立快照日志:
CREATE SNAPSHOT LOG ON table1当我往table1_new里面插入一条记录后,运行
dbms_mview.refresh('table1');
速度很慢,要好几分钟。重建SNAPSHOT的速度反而更快。我不想重建SNAPSHOT,也不想truncate tables1,
高手们,有什么好的方法提高速度?
谢谢!
CREATE SNAPSHOT table1
BUILD IMMEDIATE
REFRESH FORCE
ON DEMAND
AS
SELECT *
FROM table1_old
UNION ALL
SELECT *
FROM table1_new
建立快照日志:
CREATE SNAPSHOT LOG ON table1当我往table1_new里面插入一条记录后,运行
dbms_mview.refresh('table1');
速度很慢,要好几分钟。重建SNAPSHOT的速度反而更快。我不想重建SNAPSHOT,也不想truncate tables1,
高手们,有什么好的方法提高速度?
谢谢!
启动快照刷新进程的方法为:修改oracle数据库的初始化文件initorcl.ora,将
其中的snapshot_refresh_processes参数的值改由0改为1,然后重新启动oracle数据即可。
另外:
建议用物化视力视图。可以用到QUERY REWRITE的功能