ホームページ >データベース >Oracle >Oracleのパーティションテーブルとは何ですか

Oracleのパーティションテーブルとは何ですか

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2022-06-07 18:38:495411ブラウズ

Oracle では、パーティション テーブルは、大きなテーブルを複数の小さな管理可能なパーティション テーブルに分解します。各パーティション テーブルは互いに独立しており、一緒になって完全なテーブルを構成します。論理的に言えば、A テーブルまたはテーブルは 1 つだけ存在します。インデックスですが、物理的にこのテーブルまたはインデックスは複数の物理パーティションで構成されている場合があり、パーティション化されたテーブルはレンジ パーティション、リスト パーティション、ハッシュ パーティション、および結合パーティションに分割できます。

Oracleのパーティションテーブルとは何ですか

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle のパーティション テーブルとは

(1) パーティションとは

Oracle データベースでは、大規模なデータの処理を向上させるために、テーブル/大きなインデックス 管理性、保守性、パフォーマンスを向上させるために、Oracle は、大きなテーブル/大きなインデックスを複数の小さな管理可能なパーティションに分解できるパーティション テーブル メカニズムを導入しました。複数のパーティションは比較的独立しており、独立したストレージ構造を持ち、これらが一緒になって完全なテーブル/インデックスを構成します。パーティショニングはアプリケーションに対して透過的です。つまり、データベースにアクセスするアプリケーションにとって、論理的にはテーブルまたはインデックスが 1 つだけ存在します (アプリケーションがまだ 1 つのテーブルまたはインデックスだけを認識しているのと同じです)。ただし、物理的には、このテーブルまたはインデックスは複数の構成されたインデックスで構成されている場合があります。物理パーティションの数。

(2) パーティション化はどのような場合に必要ですか?

Oracle の公式 Web サイトでは、次の状況でパーティション化されたテーブルを使用することを推奨しています。テーブル データが 2GB を超える場合は、パーティショニングの使用を検討してください。

2. 最新のパーティションに履歴データを保存するために使用されるテーブルに新しいデータが追加されます。

(3) サブテーブルとパーティションテーブルの違い

大きなテーブル/インデックスのデータを分散するために、サブテーブルを作成するという方法もあります。サブテーブルは、特定のルールに従って、独立した記憶領域を持つ複数のエンティティ テーブルに分解されます。たとえば、customer テーブルを 2 つのテーブルに分割し、1 つは個人顧客の customer_person を格納し、もう 1 つは法人顧客の customer_company を格納します。サブテーブルは完全に独立しており、論理的には複数の異なるテーブルですが、パーティション テーブルは物理的に 1 つのテーブルです。パーティション化されたテーブルはアプリケーションに対して透過的であり、管理と保守が簡単ですが、サブテーブルは管理と保守が簡単ではありません。

(4) パーティションテーブルの種類

    レンジパーティショニング
  • リストパーティショニング(リストパーティショニング) )
  • ハッシュ パーティショニング (ハッシュ パーティショニング)
  • コンポジット パーティショニング (コンポジット パーティショニング)
  • Basicパーティショニングとは、1 層のパーティショニング (レンジ パーティショニング、リスト パーティショニング、ハッシュ パーティショニング) のみを使用するパーティション テーブルを指します。

パーティション テーブルが複数のレベルにパーティション化されている場合、それは結合パーティション化と呼ばれます。

レンジ パーティション テーブル

(1) パーティション キー

パーティショニングとは、非常に大きなテーブルまたはインデックスを、複数の小さな管理可能な部分に分割することです。パーティションテーブルはパーティションキーによって分割されます。パーティション キーは、パーティション テーブル内のデータの各行がどのパーティションに流れるかを決定します。パーティション テーブル内のデータの各行は、パーティション キーに基づいて暗黙的にパーティションに割り当てられます。

(2) レンジ パーティショニング

レンジ パーティショニングは、パーティション キーおよびパーティション キーに含まれるデータ行のさまざまな範囲値に従ってパーティションに分割されます。

(3) ケース 1 (パーティション キーは単一列です)

CREATE TABLE time_range_sales
     ( prod_id        NUMBER(6)
       , cust_id        NUMBER
       , time_id        DATE
       , channel_id     CHAR(1)
       , promo_id       NUMBER(6)
       , quantity_sold  NUMBER(3)
       , amount_sold    NUMBER(10,2)
     )
    PARTITION BY RANGE (time_id)
    (PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')),
     PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')),
     PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')),
     PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE)
    );

推奨チュートリアル: 「

Oracle ビデオ チュートリアル

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

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