TABLE ACCESS BY GLOBAL INDEX ROWID一般什么情况下出现,和分区表的global或local索引有关么,如何才能变成 INDEX RANGE SCAN 或者 FAST FULL SCAN ? 谢谢!

解决方案 »

  1.   

    有关,你这个是全局索引造成的!
    按索引分区和表分区间的对应关系可以分为局部索引和全局索引;
    局部索引的索引分区和表分区间是一一对应的,全局索引则相反;
    局部索引的分区方法可以用上面提到四种的任何一种,全局索引的分区方法只有范围分区(而且最高的分区必须用MAXVALUE来定义);
    ORACLE自动维护局部索引的分区,当表分区被合并,分裂或删除时,关联的索引分区也会被合并,分裂或删除;对分区表执行管理操作时会使其上的全局索引失效;
    建在分区表的位图索引必须是局部分区索引;
    ORACLE推荐尽可能地使用局部索引;
      

  2.   

    如果你查询的是分区表,可能分区表建立有全局索引,
    将全局索引修改为分区索引,再查询就行了吧
    create index  index_name on table (cloumn_name) local;