建立快照:
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,
高手们,有什么好的方法提高速度?
谢谢!

解决方案 »

  1.   

    是否启动了刷新进程:
    启动快照刷新进程的方法为:修改oracle数据库的初始化文件initorcl.ora,将
    其中的snapshot_refresh_processes参数的值改由0改为1,然后重新启动oracle数据即可。
    另外:
    建议用物化视力视图。可以用到QUERY REWRITE的功能
      

  2.   

    show parameter snapshot_refresh_processes看看值是多少,为0的话,改为非0
      

  3.   

    snapshot_refresh_processes 这个参数在哪找啊,我怎么找不着,我用的是oracle9i,请大侠帮忙急!
      

  4.   

    我的快照以前是可以刷新的从昨天开始就不能自动刷新了,谁知道是怎么回事,还有snapshot_refresh_processes这个参数在那设置?