Oracle 分区简述

oracle8i起开始推出表分区的概念,最初只有范围分区、列表分区和hash分区三种类型,10g以后加入了复合分区,其中复合分区又包括:哈希-范围复合分区和哈希-列表复合分区两方式。每个分区都是一个独立的segment,可存放在不同的表空间中。


    范围分区(Range):即根据字段值的实际情况来划分范围,以范围作为分区划分的依据,将记录存放在不同分区。如果记录无法预测范围,则可创建一个maxvalue分区,将所有不符合指定范围的记录存入maxvalue分区中。

     列表分区(List):需要指定记录字段的具体值,如性别,将'male’和'female'设为两个不同分区存放记录。当然,也像范围分区一样,若插入的值无法预测,即需要创建一个default分区,用以存放不在指定列表的值。因此通常建议使用list分区时,要创建一个default分区存储那些不在指定范围内的记录,类似range分区中的maxvalue分区。

     哈希分区(Hash):对于那些无法有效划分范围的表,可以使用hash分区,这样对于提高性能还是会有一定的帮助。hash分区会将表中的数据平均分配到你指定的几个分区中,列所在分区是依据分区列的hash值自动分配,因此你并不能控制也不知道哪条记录会被放到哪个分区中,hash分区也可以支持多个依赖列。

你可能感兴趣的:(分区)