プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

XMLTypeおよびオブジェクトのコレクションのパーティション化

説明のために、 ここではコレクションという語を、(1)XMLTypeの表または列内のOrdered Collection Tables、(2)オブジェクトの表または列内のネスト表、という2つのカテゴリに使用します。

XMLTypeまたはオブジェクトの表と列を使用する際のパーティション化は、パーティション化の基本的なルールに従います。コレクション表をパーティション化するときは、実表のパーティション化方法がOracle Databaseによって使用されます。また、コレクション表は、実表がパーティション化されるときに自動的にパーティション化されます。パーティション化されたネスト表に対するDMLは、参照パーティション表に対する場合と似た方法で動作します。

例4-25の文によって、ネストした表のパーティションが作成されます。その他の例について、次の項に示します。

パーティション化されたネスト表に対して問合せを発行し、EXPLAIN PLANを使用してパフォーマンスを改善する方法の例は、「コレクション表」を参照してください。

Oracle Databaseで提供されるLOCALキーワードを使用して、コレクション表を、パーティション化された実表に対応するように同一レベル・パーティション化します。これは、このリリースでのデフォルト動作です。以前のリリースのデフォルトでは、コレクション表は、パーティション化された実表に対して同一レベル・パーティション化されませんでした。現在、パーティション化されていないコレクション表をパーティション化された実表と一緒に格納するためには、GLOBALキーワードを指定する必要があります。詳細は、『Oracle Database SQL言語リファレンス』を参照してください。また、既存のパーティション化されていないコレクション表をパーティション化されたコレクション表に変換するには、「パーティション表への非パーティション表の展開」に示すように、オンライン再定義を使用します。

アウトオブライン(OOL)表のパーティション化がサポートされています。ただし、アウトオブライン表を持つ同じXMLスキーマの表を2つ作成することはできません。つまり、同じスキーマの表を2つ持つことはできないため、OOL表を含むスキーマでは、パーティションの交換は行えません。

例4-25 ネスト表パーティションの作成

CREATE TABLE print_media_part (
   product_id NUMBER(6),
   ad_id NUMBER(6),
   ad_composite BLOB,
   ad_sourcetext CLOB,
   ad_finaltext CLOB,
   ad_fltextn NCLOB,
   ad_textdocs_ntab TEXTDOC_TAB,
   ad_photo BLOB,
   ad_graphic BFILE,
   ad_header ADHEADER_TYP)
NESTED TABLE ad_textdocs_ntab STORE AS textdoc_nt
PARTITION BY RANGE (product_id)
  (PARTITION p1 VALUES LESS THAN (100),
   PARTITION p2 VALUES LESS THAN (200));