如何避免TABLE ACCESS BY GLOBAL INDEX ROWID

License2Kill 2011-09-20 08:24:19
TABLE ACCESS BY GLOBAL INDEX ROWID一般什么情况下出现,和分区表的global或local索引有关么,如何才能变成 INDEX RANGE SCAN 或者 FAST FULL SCAN ? 谢谢!
...全文
1830 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
NLP爱好者 2011-09-20
  • 打赏
  • 举报
回复
如果你查询的是分区表,可能分区表建立有全局索引,
将全局索引修改为分区索引,再查询就行了吧
create index index_name on table (cloumn_name) local;
灰哥 2011-09-20
  • 打赏
  • 举报
回复
有关,你这个是全局索引造成的!
按索引分区和表分区间的对应关系可以分为局部索引和全局索引;
局部索引的索引分区和表分区间是一一对应的,全局索引则相反;
局部索引的分区方法可以用上面提到四种的任何一种,全局索引的分区方法只有范围分区(而且最高的分区必须用MAXVALUE来定义);
ORACLE自动维护局部索引的分区,当表分区被合并,分裂或删除时,关联的索引分区也会被合并,分裂或删除;对分区表执行管理操作时会使其上的全局索引失效;
建在分区表的位图索引必须是局部分区索引;
ORACLE推荐尽可能地使用局部索引;
Gemini Dean 2011-09-20
  • 打赏
  • 举报
回复
这个帮不上忙了,帮顶一下!

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧