分区表
分区表是将大表的数据分成称为分区的许多小的子集,9i提供四种分区方法:范围分区,列表分区,哈希分区和混合分区;
· 范围分区是根椐分区键的不同取值范围来划分子集的,关键字RANGE, VALUES LESS THAN;
· 列表分区是根椐分区键的一些离散的取值来划分子集的,关键字LIST, VALUES;
· 哈希分区是应用哈希算法将分区键对应到某个子集中去,关键字HASH, PARTITIONS;
· 混合分区只能有两层,第一层是范围分区,第二层可以是列表分区或者哈希分区;
· 范围分区和列表分区中,如果插入记录的分区键没有对应的容纳分区,会产生ORA-14400;
· update操作如果会使记录从一个分区迁移到另一个分区,且分区表的ROW MOVEMENT属性是DISABLE,会产ORA-14402;
· 分区表上的索引有两大类:普通的二叉树索引,分区索引,下面讲到的都是分区索引:
· 按索引分区和表分区间的对应关系可以分为局部索引和全局索引;
Ø 局部索引的索引分区和表分区间是一一对应的,全局索引则相反;
Ø 局部索引的分区方法可以用上面提到四种的任何一种,全局索引的分区方法只有范围分区(而且最高的分区必须用MAXVALUE来定义);
Ø ORACLE自动维护局部索引的分区,当表分区被合并,分裂或删除时,关联的索引分区也会被合并,分裂或删除;对分区表执行管理操作时会使其上的全局索引失效;
Ø 建在分区表的位图索引必须是局部分区索引;
Ø ORACLE推荐尽可能地使用局部索引;
· 按索引栏位和分区键间的关系分为前缀索引和非前缀索引;
Ø 前缀索引最前面的栏位是分区键栏位,非前缀索引相反;
· 在这两种分类方法的四种组合中,只有三种有效(局部前缀索引,局部非前缀索引,全局前缀索引),不存在全局非前缀索引;
· 分区表给CBO带来很多选项,如分区排除,并行分区连接等。
· 范围分区是根椐分区键的不同取值范围来划分子集的,关键字RANGE, VALUES LESS THAN;
· 列表分区是根椐分区键的一些离散的取值来划分子集的,关键字LIST, VALUES;
· 哈希分区是应用哈希算法将分区键对应到某个子集中去,关键字HASH, PARTITIONS;
· 混合分区只能有两层,第一层是范围分区,第二层可以是列表分区或者哈希分区;
· 范围分区和列表分区中,如果插入记录的分区键没有对应的容纳分区,会产生ORA-14400;
· update操作如果会使记录从一个分区迁移到另一个分区,且分区表的ROW MOVEMENT属性是DISABLE,会产ORA-14402;
· 分区表上的索引有两大类:普通的二叉树索引,分区索引,下面讲到的都是分区索引:
· 按索引分区和表分区间的对应关系可以分为局部索引和全局索引;
Ø 局部索引的索引分区和表分区间是一一对应的,全局索引则相反;
Ø 局部索引的分区方法可以用上面提到四种的任何一种,全局索引的分区方法只有范围分区(而且最高的分区必须用MAXVALUE来定义);
Ø ORACLE自动维护局部索引的分区,当表分区被合并,分裂或删除时,关联的索引分区也会被合并,分裂或删除;对分区表执行管理操作时会使其上的全局索引失效;
Ø 建在分区表的位图索引必须是局部分区索引;
Ø ORACLE推荐尽可能地使用局部索引;
· 按索引栏位和分区键间的关系分为前缀索引和非前缀索引;
Ø 前缀索引最前面的栏位是分区键栏位,非前缀索引相反;
· 在这两种分类方法的四种组合中,只有三种有效(局部前缀索引,局部非前缀索引,全局前缀索引),不存在全局非前缀索引;
· 分区表给CBO带来很多选项,如分区排除,并行分区连接等。