ホームページ >よくある問題 >Oracle テーブルパーティショニングの役割

Oracle テーブルパーティショニングの役割

(*-*)浩
(*-*)浩オリジナル
2019-09-02 11:55:189926ブラウズ

テーブルスペースとパーティションテーブルの概念

Oracle テーブルパーティショニングの役割

テーブルスペース: (推奨調査: Web フロントエンド ビデオ チュートリアル)

は 1 つ以上のデータ ファイルのコレクションです。すべてのデータ オブジェクトは指定されたテーブル スペースに格納されますが、メイン ストレージはテーブルであるため、テーブルと呼ばれますspace

Partition table:

##テーブル内のデータ量が増加し続けると、データのクエリ速度が低下し、アプリケーションのパフォーマンスが低下します。テーブルをパーティション分割することを検討する必要があります。テーブルがパーティション化された後も、論理テーブルは完全なテーブルのままですが、テーブル内のデータは物理的に複数のテーブル スペース (物理ファイル) に格納されるため、データをクエリするときに毎回テーブル全体がスキャンされるわけではありません。テーブル

テーブル パーティショニングの具体的な役割

Oracle のテーブル パーティショニング機能は、管理性、パフォーマンス、可用性を向上させることで、さまざまなアプリケーションにメリットをもたらします。利点。 一般に、パーティショニングにより、特定のクエリやメンテナンス操作のパフォーマンスが大幅に向上します。さらに、パーティショニングは一般的な管理タスクを大幅に簡素化することができ、ギガバイト データ システムや超高可用性システムを構築する際の重要なツールとなります。

パーティション化機能では、表、索引、または索引構成表をさらにセグメントに分割できます。これらのデータベース・オブジェクトのセグメントはパーティションと呼ばれます。各パーティションには独自の名前があり、独自のストレージ特性を選択できます。データベース管理者の観点から見ると、パーティション化されたオブジェクトには複数のセグメントがあり、これらのセグメントは一括または個別に管理できるため、データベース管理者はパーティション化されたオブジェクトを管理する際にかなりの柔軟性が得られます。ただし、アプリケーションの観点から見ると、パーティション テーブルは非パーティション テーブルと同一であり、SQL DML コマンドを使用してパーティション テーブルにアクセスする場合は変更する必要はありません。

パーティション テーブルを使用する場合:

1. テーブルのサイズが 2GB を超えています。

2. テーブルには履歴データが含まれており、新しいデータは新しいパーティションに追加されます。

テーブル パーティショニングの長所と短所

テーブル パーティショニングには次の利点があります:

1. クエリのパフォーマンスの向上: パーティション化されたオブジェクトに対するクエリは検索のみ可能です。取得速度を向上させるためにパーティションに注意してください。

2. 可用性の向上: テーブルのパーティションに障害が発生した場合でも、他のパーティションにあるテーブルのデータは引き続き利用可能です;

3. メンテナンスの容易さ: テーブルのパーティションに障害が発生した場合でも、データを修復するには、パーティションのみを修復する必要があります;

4. バランスのとれた I/O: 異なるパーティションをディスクにマッピングして、I/O のバランスをとり、システム全体のパフォーマンスを向上させることができます。

欠点:

パーティション テーブル関連: 既存のテーブルをパーティション テーブルに直接変換する方法はありません。ただし、Oracle ではオンラインでテーブルを再定義する機能が提供されています。

(4). テーブルパーティションのいくつかの種類と操作方法

レンジパーティショニング:

レンジパーティショニングは、範囲に基づいてデータを各パーティションにマッピングします。パーティションの作成時に指定したパーティション キーによって異なります。このパーティション分割方法は最も一般的に使用され、パーティション キーには日付が使用されることがよくあります。たとえば、売上データを月ごとに分割することができます。

レンジ パーティショニングを使用する場合は、次のルールを考慮してください:

1. 各パーティションには、パーティションに含まれない値を指定する VALUES LESS THEN 句が必要です。 。この上限以上のパーティション キー値を持つレコードは、次に高いパーティションに追加されます。

2. 最初のパーティションを除くすべてのパーティションには、暗黙の下限値が設定されます。この値は、このパーティションの前のパーティションの上限値です。

3. 最上位のパーティションでは、MAXVALUE が定義されます。 MAXVALUE は不確実な値を表します。この値は、他のパーティションのパーティション キーの値よりも大きく、NULL 値を含む、パーティションで指定された VALUE LESS THEN の値よりも大きいと解釈できます。

例 1:

200,000 行のデータを持つ CUSTOMER テーブルがあるとします。このテーブルを CUSTOMER_ID でパーティション分割します。各パーティションには 100,000 行が保存されます。各パーティションを別個のテーブルスペースに保存します。データ ファイルは複数の物理ディスクにまたがることができます。次のコードはテーブルとパーティションを作成するコードです:

CREATE TABLE CUSTOMER 
( 
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY, 
    FIRST_NAME  VARCHAR2(30) NOT NULL, 
    LAST_NAME   VARCHAR2(30) NOT NULL, 
    PHONE        VARCHAR2(15) NOT NULL, 
    EMAIL        VARCHAR2(80), 
    STATUS       CHAR(1) 
) 
PARTITION BY RANGE (CUSTOMER_ID) 
( 
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01, 
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02 
)

以上がOracle テーブルパーティショニングの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。