Network Admin   «Prev 

Oracle Partitioning Improvements

Oracle Partitioning Benefits

One of the beneftis is to improve performance and manageability:
  1. Stable: Oracle partitioning is a very stable technology and has been used in Oracle since Oracle8. Each new release of Oracle improves Oracle partitioning features.
  2. Robust: Oracle partitioning allows for multi-level keys, a combination of the Range and List partitioning technique. The table is first range-partitioned with Oracle partitioning, and then each individual range-partition is further sub-partitioned using a list partitioning technique with Oracle partitioning. Unlike composite Range-Hash Oracle partitioning, the content of each sub-partition represents a logical subset of the data, described by its appropriate Range and List Oracle partition setup.
  3. Faster backups: A DBA can back-up a single Oracle partition of a table, rather than backing up the entire table, thereby reducing backup time.
  4. Less overhead: Because older Oracle partitioned tablespaces can be marked as read-only, Oracle has less stress on the redo logs, locks and latches, thereby improving overall performance. For more details, read Robert Freeman's discussion of read-only tablespace performance.
  5. Easier management: Maintenance of Oracle partitioned tables is improved because maintenance can be focused on particular portions of tables. For maintenance operations across an entire database object, it is possible to perform these operations on a per-partition basis, thus dividing the maintenance process into more manageable chunks.
  6. Faster SQL: Oracle is partition-aware, and some SQL may improve is speed by several orders of magnitude (over 100x faster).
    1. Index range scans: Oracle partitioning physically sequences rows in index-order causing a dramatic improvement (over 10x faster) in the speed of partition-key scans.
    2. Full-table scans: Oracle partition pruning only accesses those data blocks required by the query.
    3. Table joins: Oracle partition-wise joins take the specific sub-set of the query partitions, causing huge speed improvements on nested loop and hash joins.
    4. Updates: Oracle parallel query for partitions improves batch load speed.

Sometimes a row's data is updated and the data no longer falls in the partitioning criteria for the partition that the row was inserted into. Oracle allows you an option to automatically move rows from one partition to another when this happens. In this Illustration, a row in Partition 1 is moved to partition 2. The advantage of this is that your partitions stay intact according to the partition definition, allowing Oracle to optimize queries within a single partition whenever possible. Partition only queries save overhead by reducing the volume of the data that must be processed.

Occasionally, your original plan for partitioning a table results in an imbalance of distribution of data across the partitions. One new feature that can help resolve this problem is Oracle's capability to combine, or coalesce, two partitions into a single partition. In this illustration, Partitions 2 and 3 are coalesced into a new partition called Partition 4.

Once that is done, the old partitions (2 and 3) are automatically removed.

How do you load data into one partition without having to rebuild all the partitions in the table? Another feature that can let you do this is Oracle's capability to exchange partitions. By exchanging partitions, you can trade a normal table with one of the partitions in the database. In the example shown here, Partition 2's data is exchanged for the data in Table X.