简单说说Oracle分区(1)(5)
二:使用各种分区方法的场景
1:什么时候用Range Partition
Range Partition是一种方便的方法分区历史的数据,经常在DATE COLMUN通过时间间隔组织数据。比如说:你要查询2009年8月的数据,查询将直接找到2009年8月的分区,避免了大量不必要的数据扫描。
在处理周期性的load新数据和purge老数据的时候,Range Partition也是一个理想的选择。
应用场景:
a)有一个大表需要通过时间字段频繁的访问,通过这个时间字段做RANG PARTITION 有利于做分区裁剪。
b)如果你不能对一个大表在指定的时间内做备份或RESTORE,你可以通过RANGE把他们分成小的logic片来做。
2:什么时候用HASH Partition
HASH Partition不是一个很好的管理历史的方法。
应用场景
a)增加大表的可用性。
b)避免各个分区之间查找数据,并且各个分区可以放在不同的设备上,达到最大的I0吞吐量。也可以用STORE IN 子句分配每个分区到不同的表空间。
3:什么时候用LIST Partition
如果你想映射数据到离散的值的时候,LIST Partition是个比较好的选择。
4:什么时候用Composite Range-Hash Partitioning
这是Range和Hash的组合使用,先对表用RANGE分,然后对每个RANGE再做HASH分区。
由于做了RANGE后的子分区是没有规律的,如果在数据仓库设计时候,通过查询需求觉得有必要再细分,可以考虑使用。ORACLE会把子分区又分成不同的SEGMENT。
:http://www.cnblogs.com/tracy/archive/2011/05/31/2064027.html