この記事ではレンジパーティション表の作成方法について解説します。
レンジパーティション表とは
レンジパーティション表とはパーティションの基準となるキー値の範囲でパーティションを作成した表です。
例えば売り上げデータを管理する表で売り上げ日付をキー値として、年単位でパーティションを作成することができます。
レンジパーティション表の作成方法
レンジパーティション表は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
作成したパーティション表が確認できました。