Oracle是最早支持物理分区的数据库管理系统供应商,表分区的功能是在Oracle 8.0版本推出的。分区功能能够改善应用程序的性能、可管理性和可用性,是数据库管理中一个非常关键的技术。尤其在今天,数据库应用系统的规模越来越大,还有海量数据的数据仓库系统,因此,几乎所有的Oracle数据库都使用分区功能来提高查询的性能,并且简化数据库的日常管理维护工作。,使用分区技术的优点如下:
操作方法
-
01
一、范围分区 创建范围分区的关键字是“RANGE”,创建该分区后,其中的数据可以根据分区键值指定的范围进行分布,当数据在范围内均匀分布时,性能最好。 例如:创建一个表ware_retail_part,按日期分八个区
-
02
二、散列分区 HASH分区,也叫做散列分区,是在列的取值难以确定的情况下采用的分区方法。HASH实际上是一种函数算法,当向表中插入数据时,系统会自动根据当前分区列的值进行计算出HASH值,然后确定应该将该行存放于哪个表空间中。 HASH分区通过指定分区编号将数据均匀分布在磁盘设备上,使得这些分区大小一致,这充分降低了I/O磁盘征用的情况,但是,对于范围查询或不等式查询起不到优化的作用。 一般,下面几种情况可以采取HASH分区:
-
03
三、列表分区 关键字是LIST,如果表的某个列的值可以枚举,则可以考虑对表进行列表分区。比如客户表clients,那么就可以按照客户所在的省份进行分区。
-
04
四、组合分区 结合两个数据分区的方法可以组合成一个组合分区方法。首先用第一个数据分布方法对表格进行分区,然后再用第二个数据分区方法对每个分区进行二次分区。 Oracle 11g支持以下的组合分区方案:
-
05
五、Interval分区 关键字是Interval,Interval分区是Oracle 11g版本新引入的分区方法,是范围分区的一种增强功能,可以实现equi_sized范围分区的自动化。创建的分区作为元数据,只有最开始的分区是永久分区。随着数据的增加会分配更多的部分,并自动创建新的分区和本地索引。