Partitioning分区是Oracle一种重要的处理大量数据的特性,从Oracle 8开始引入range partition范围分区,到现在11g中出现的Interval Partition、REF Partitions、Partition Advisor等new feature,分区技术在一步步走向成熟。
![partition]()
下表列出了从Oracle 8到11g的各历史版本中出现的分区特性:
|
|
Core functionality |
Performance |
Manageability |
| Oracle8 |
Range partitioning |
“Static” partition pruning |
Basic maintenance operations: add, drop, exchange |
| Global range indexes |
| Oracle8i |
Hash and composite range-hash partitioning |
Partition-wise joins |
Merge operation |
| “Dynamic” pruning |
| Oracle9i |
List partitioning |
|
Global index maintenance |
| Oracle9i R2 |
Composite range-list partitioning |
Fast partition split |
|
| Oracle10g |
Global hash indexes |
|
Local Index maintenance |
| Oracle10g R2 |
1M partitions per table |
“Multi-dimensional” pruning |
Fast drop table |
| Oracle Database 11g |
More composite choices |
|
Interval Partitioning |
| REF Partitioning |
Partition Advisor |
| Virtual Column Partitioning |
|
复合分区(Composite Partitioning)最早在版本8i中被引入(Range-Hash),是一种二维的模式分区技术; 在11g中进一步扩展了Composite Partitioning,11g 支持RANGE-RANGE、 RANGE-LIST、LIST-LIST、LIST-HASH等几种模式。 其中RANGE-RANGE是我们久违了的,很多初学分区概念的同学都会惊讶于11g以前居然没有RANGE-RANGE分区可用。
|
|
Range |
List |
Hash |
| Range |
11g |
9i |
8i |
| List |
11g |
11g |
11g |