请教一个问题:
现在有一个视图速度很慢,如果在不修改视图结构的情况下,自己建立一个新的表,结构与字段与视图相同,即实例化视图,然后每隔大约30秒读取视图内容写入到新表里去,该如何进行做呢,所有的过程都要在数据库中完成,请高手指点!谢谢

解决方案 »

  1.   

    物化视图
    create snapshot
      

  2.   

    老大能否说的详细一点呢,我用的是ORACLE数据库
      

  3.   

    网上太多了,google,baidu一下随便贴一段
    create material view log on tablename1;create materialized view tablename2
               refresh fast /*参数自己设置*/
               start with sysdate next sysdate+1/24/3600*30
               with primary key
              as /*和视图类似*/ select * from tablename1@a;
      

  4.   

    不好意思,老大,好象还是不大理解,能否说的详细一点呢,速度比较慢的视图名叫VW_LADLE_STATUS1,我想每隔30秒刷新,放到表VW_LADLE_STATUS中,是不是我只需要读VW_LADLE_STATUS表就可以了?
    小弟刚学ORACLE不大熟悉啊
      

  5.   

    应该是这个意思物化视图就是建一个有实体的同步映像
    create materialize view log on tablename1;
    相当于建一个监控tablename1变化的log然后start with sysdate next sysdate+1/24/3600*30
    视图就在sysdate时间开始建立,并每隔1/24/3600*30天,根据log刷新
    理论的可以直接查oracle文档
    多实践就知道了
      

  6.   

    速度比较慢的视图名叫VW_LADLE_STATUS1,我想每隔30秒刷新,放到表VW_LADLE_STATUS中,是不是我只需要读VW_LADLE_STATUS表就可以了? 如果就按照我上述视图和表的名字,如何写呢?
      

  7.   

    速度比较慢的视图名叫VW_LADLE_STATUS1,我想每隔30秒刷新,放到表VW_LADLE_STATUS中,是不是我只需要读VW_LADLE_STATUS表就可以了? 如果就按照我上述视图和表的名字,如何写呢?