oracle 全局索引和局部索引的区别和作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 全局索引和局部索引的区别和作用相关的知识,希望对你有一定的参考价值。

简单的说吧,分区索引需要对每个分区建立相同的索引,也就是开始的工作量会稍微大点,不分区索引,也就是说一个索引对全表建立就行;这样问题就出来了,当你对某个分区进行drop或者新建分区的话,同时你得对不分区索引进行重建,这样工作量也会变大;而分区索引当你对表进行drop分区或create分区的时候只需要在新分区建立新的索引即可。而且索引会随着表的增大而增大,所以不分区索引维护起来有点费劲,所以这个就看你自己建立的分区表是怎么样的了,是否比较容易维护索引 参考技术A 全局索引:也就是系统内每个程序每个任务都可以进行索引;局部索引,也就是索引的范围较小,能更好的结合任务进行索引,但容易引起越界超范围 参考技术B 对于Oracle分区表,存在两种分区:局部索引和全局索引(2)表分区和索引分区是两个不同的概念(3)局部索引,也称本地索引(Local索引),其分区形式与表的分区完全相同,依赖列相同,存储属性也相同。

Oracle Access和filter的区别

在查看Oracle执行计划的时候经常会遇到Access和filter,脑容量太小,总是分不清两者的区别。。。稍作整理。

Access:表示对应的谓词条件会影响数据的访问路径(是按照索引还是表)

Filter:表示谓词条件只会起到过滤作用,不会影响数据的访问路径。

因此,需要着重关注filter部分是否可创建索引

 如下示例:在code字段上建有索引,name上没有索引

 

Access的栗子

 

 filter的栗子

 

以上是关于oracle 全局索引和局部索引的区别和作用的主要内容,如果未能解决你的问题,请参考以下文章

Oracle-创建索引分区

全局(Global) 与本地(Local)索引的区别

如何让Oracle表的索引暂时失效?然后恢复有效

oracle里,truncate一个分区,能不能保留全局索引

oracle 有全局索引怎么删除分区

oracle 有全局索引怎么删除分区