ITPUB论坛 » Oracle电子文档 » [三思笔记]全面学习分区表及分区索引
新一届的微软MVP评选已经开始,欢迎各位推荐!
2008-5-29 13:03 junsansi
[三思笔记]全面学习分区表及分区索引

关于分区表和分区索引(About Partitioned Tables and Indexes)

对于10gR2而言,基本上可以分成几类:
Range(范围)分区
Hash(哈希)分区
List(列表)分区
以及组合分区:Range-Hash,Range-List。

对于表而言(常规意义上的堆组织表),上述分区形式都可以应用(甚至可以对某个分区指定compress属性),只不过分区依赖列不能是lob,long之类数据类型,每个表的分区或子分区数的总数不能超过1023个。
对于索引组织表,只能够支持普通分区方式,不支持组合分区,常规表的限制对于索引组织表同样有效,除此之外呢,还有一些其实的限制,比如要求索引组织表的分区依赖列必须是主键才可以等。
注:本篇所有示例仅针对常规表,即堆组织表!

对于索引,需要区分创建的是全局索引,或本地索引:
全局索引(global index):即可以分区,也可以不分区。即可以建range分区,也可以建hash分区,即可建于分区表,又可创建于非分区表上,就是说,全局索引是完全独立的,因此它也需要我们更多的维护操作。
本地索引(local index):其分区形式与表的分区完全相同,依赖列相同,存储属性也相同。对于本地索引,其索引分区的维护自动进行,就是说你add/drop/split/truncate表的分区时,本地索引会自动维护其索引分区。

Oracle建议如果单个表超过2G就最好对其进行分区,对于大表创建分区的好处是显而易见的,这里不多论述why,而将重点放在when以及how。

2008-5-29 13:03 junsansi
:)

[[i] 本帖最后由 junsansi 于 2008-6-11 17:33 编辑 [/i]]

2008-5-29 13:07 bluemoon0083
三思同学的大作一定要支持啊:right:

2008-5-29 13:11 junsansi
[quote]原帖由 [i]bluemoon0083[/i] 于 2008-5-29 13:07 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10515074&ptid=996554][img]http://www.itpub.net/images/common/back.gif[/img][/url]
三思同学的大作一定要支持啊:right: [/quote]
::-):

2008-5-29 14:34 brucewoo
学习一下

2008-5-29 15:14 sir.liang
Thanks

2008-5-29 15:46 fufuh2o
不赖 ,支持~~~~~~~

2008-5-30 23:16 yudingchu
支持

2008-5-31 00:17 henry406
支持

2008-5-31 11:29 h12345
支持 顶 订阅了他的博客

2008-5-31 22:55 xiaodong_1567
要支持!!!

2008-6-1 21:19 mydear
好文章

2008-6-2 01:36 cc59
:rose:

2008-6-3 13:11 victor1010
相当支持了!
好文章!

2008-6-3 13:46 chen_7733
非常感谢!

2008-6-3 20:12 hnroger
thks

2008-6-5 16:06 runni
学习的指引!谢谢

2008-6-5 17:29 sunfire999
每个表的分区或子分区数的总数不能超过1023个?

这个有些疑问,我的分区表早已远远超过1023这个限制了

我维护的一个分区表,是range-list的分区表,每天分区,每个分区下面有10几个列表子分区,最少的算 10×365 都已经 3650个分区了

实际上我查询分区+子分区数已经是11060了,不太理解楼主的说法

版本oracle 10G

2008-6-5 18:11 间之念一
*** 作者被禁止或删除 内容自动屏蔽 ***

2008-6-5 22:00 junsansi
[quote]原帖由 [i]sunfire999[/i] 于 2008-6-5 17:29 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10581498&ptid=996554][img]http://www.itpub.net/images/common/back.gif[/img][/url]
每个表的分区或子分区数的总数不能超过1023个?

这个有些疑问,我的分区表早已远远超过1023这个限制了

我维护的一个分区表,是range-list的分区表,每天分区,每个分区下面有10几个列表子分区,最少的算 10×365 都已经 3650个分区了

实际上我查询分区+子分区数已经是11060了,不太理解楼主的说法

版本oracle 10G [/quote]

笔误,在10G中单个表最大可支持的分区或子分区应该是1024K-1个~~~

页: [1] 2 3


Powered by ITPUB论坛