パーティション化を行うと、アプリケーションに対して完全に透過的なパーティションと呼ばれるより小規模で管理しやすい単位に分解することにより、大規模な表や索引のサポートにおける主な問題に対応できます。パーティション表にアクセスするために、SQL問合せやデータ操作言語(DML)文を変更する必要はありません。ただし、パーティションの定義後にデータ定義言語(DDL)文がアクセスおよび操作できるのは、表や索引全体ではなく、個々のパーティションです。これが、パーティション化により、大規模データベース・オブジェクトの管理が簡略化される仕組みです。
表または索引の各パーティションでは、列名、データ型および制約などの論理属性は同一である必要がありますが、圧縮の有効化や無効化、物理記憶域設定および表領域などの物理属性は異なってもかまいません。
パーティション化は、様々なタイプのアプリケーション、特に大量のデータを管理するアプリケーションに便利です。OLTPシステムでは管理性や可用性が向上し、データ・ウェアハウス・システムではパフォーマンスや管理性が向上します。
表全体ではなくパーティション・レベルでのデータのロード、索引の作成や再作成、バックアップやリカバリなどのデータ管理操作が可能です。これにより、これらの操作にかかる時間が大幅に削減されます。
問合せパフォーマンスが向上します。多くの場合、表全体ではなくパーティションのサブセットにアクセスすることで、問合せの結果を取得できます。一部の問合せでは、この技術(パーティション・プルーニング)により、パフォーマンスが大幅に向上します。
メンテナンス操作のスケジュールされた停止時間の影響を大幅に軽減できます。
パーティション・メンテナンス操作におけるパーティションの独立性により、同じ表または索引の異なるパーティションでメンテナンス操作を同時に実行できます。メンテナンス操作に影響されないパーティションに対しても、SELECT
操作やDML操作を同時に実行できます。
メンテナンス期間、リカバリ時間および障害の影響を低減するために、重要な表や索引がパーティションに分割されていると、重要なデータベースの可用性が向上します。
パラレル実行を行うと、リソース使用率が最適化され、実行時間が最短化されるという特定の利点があります。パラレル実行は、問合せおよびDMLやDDLに対してサポートされています。
パーティション化により、Oracle Database内でのデータ・アクセスが高速になります。データベースのデータが10GBか10TBかに関係なく、パーティション化によりデータ・アクセスを大幅に改善できます。パーティション化は、アプリケーションに変更を加えずに実装できます。たとえば、表にアクセスするSELECT
文やDML文を変更せずに、パーティション化されていない表をパーティション表に変換できます。パーティション化を使用するために、アプリケーション・コードをリライトする必要はありません。