普通关系视图不能提高检索速度;
物化视图可以提高与定义该视图语句相匹配的sql的速度...

解决方案 »

  1.   

    视图就可以理解为一条sql语句。
    物化视图,可以理解为 跟随语句变化的 实实在在存在的表。
      

  2.   

    如果视图涉及的表比较多,而且逻辑关系比较复杂的话,很有可能严重影响速度
    因为后面的查询如果在视图上,oracle会先帮你建立起来这个视图,而建立视图可能涉及对某个表的遍历,那个速度简直难以忍受
      

  3.   

    to acmly(Paolo)好像没太看懂 ?“oracle会先帮你建立起来这个视图” 不是已经有视图了吗?
    能详细说说吗?
      

  4.   

    视图在oracle中是一条sql语句,不是物理上的一个表,只有在你调用视图的时候它才动态生成.所以在查询的时候不仅仅执行的是你的查询语句,在之前还要先创建视图
      

  5.   

    尽量不要对视图运行关联性比较复杂的sql语句.
      

  6.   

    视图在物理上是不存在的,视图其实就是一个sql语句,每次要对这个视图操作的时候,oracle就会先执行这个语句得到视图,然后再对其进行操作。
    为了提高效率,oracle还提供了一种叫做物化视图的东西,这种视图不仅保存选出来的东西,而且在必要的时候还会自动更新以保持与原始表一致。物化视图还可以用于同步等应用:)
      

  7.   


    to acmly(Paolo) oracle就会先执行这个语句得到视图,是指先建立一个“临时”的数据表吗?简单说吧:
    1。select * From 视图
    2。select * from (Select ....)括号中是视图的SQL语句那个效率更高一些?
      

  8.   

    to wbdx(碳离子) :
    我觉得两个应该差不多吧,至于有没有一个“临时”的数据表,我觉得应该是没有的(内存中可能有相应的数据),但是这个不清楚的说
      

  9.   

    to  acmly
    如果视图涉及的表比较多,而且逻辑关系比较复杂的话,很有可能严重影响速度这么说不是视图影响速度,而是关联的复杂程度影响速度,对吧?
      

  10.   

    acmly的意思应该是说如果在视图中有复杂的关联语句,可能就会比用子查询慢。
      

  11.   

    to acmly其实如果出现了复杂的关联语句或者是子查询,恐怕就要先考虑一下数据库设计的是否合理了这个观点我同意