视图上可否建立索引?

解决方案 »

  1.   

    Oracle 没有视图索引,sqlserver有.视图其实就是对多个(或者1个)表的一个查询,只是为了方便把需要的各个表的数据放到一个视图(表)中,效率和直接用SQL对多表进行查询是一样的。
    对视图的查询,底层就是利用各表的索引来查询的,所以只要注意建立好表的索引就可以了。
      

  2.   

    可以考虑物化视图materialized view,在其上创建索引.
      

  3.   

    视图上可以建立索引,我这里说的视图索引是普通视图,不是物化视图,但该索引只是一个novalidate disable 状态的索引,一般情况下没有什么意义,在查询重写的时候,在特定条件下才会发生作用,另外它并没有真正的建立索引,仅仅相当于一个约束
    物化视图上建立索引和在表上建立索引没什么区别