レンジパーティション表の作成方法

この記事ではレンジパーティション表の作成方法について解説します。

 レンジパーティション表とは

レンジパーティション表とはパーティションの基準となるキー値の範囲でパーティションを作成した表です。

例えば売り上げデータを管理する表で売り上げ日付をキー値として、年単位でパーティションを作成することができます。


 レンジパーティション表の作成方法

レンジパーティション表はCREATE TABLE文のPARTITION BY RANGE句を使用して作成します。

例えば下記のような文で表を作成することができます。

CREATE TABLE sales
 (
  prod_id NUMBER(4),
  cust_id VARCHAR(10),
  time DATE
 ) PARTITION BY RANGE (time)  ( PARTITION sales_2020 VALUES LESS THAN (TO_DATE('20210101','YYYYMMDD'))  , PARTITION sales_2021 VALUES LESS THAN (TO_DATE('20220101','YYYYMMDD'))  , PARTITION sales_2022 VALUES LESS THAN (TO_DATE('20230101','YYYYMMDD'))  , PARTITION sales_2023 VALUES LESS THAN (TO_DATE('20240101','YYYYMMDD'))  );

それぞれ日付で2020年、2021年、2022年、2023年のデータごとに分割したsales表を作成しました。


 パーティションの確認

作成したパーティション表は下記のSQLで確認できます。

SELECT TABLE_NAME, PARTITION_NAME FROM USER_TAB_PARTITIONS;

上記で作成したパーティション表を確認すると下記のように表示されます。

SQL> SELECT TABLE_NAME, PARTITION_NAME FROM USER_TAB_PARTITIONS;
  
TABLE_NAME PARTITION_NAME
---------- --------------
SALES      SALES_2020
SALES      SALES_2021
SALES      SALES_2022
SALES      SALES_2023

作成したパーティション表が確認できました。