このトピックでは、範囲リストのパーティションテーブルを作成する方法について説明します。
構文
次のステートメントを使用して、各パーティションに1つ以上のサブパーティションを含めることができる1つ以上のレンジリストパーティションテーブルを作成します。
テーブルを作成... レンジによるパーティー {(expr) | COLUMNS(column_list)}
リストによるサブパート (expr)
[(partition_definition [, partition_definition] ...)];
partition_definition
は次のとおりです。
PARTITION partition_name
{(value | value_list) | MAXVALUE} より少ない値
[(subpartition_definition [, subpartition_definition] ...)]
subpartition_definition
は次のとおりです。
SUBPARTITION subpartition_name
値イン (value_list2)
パラメーター
パラメーター | 説明 |
expr | パーティションの式。 INTタイプでなければなりません。 string型はサポートされていません。 |
column_list | パーティションキー列のリスト。 それはRANGE COLUMNS() で使用されます。 式はサポートされていません。 |
value | パーティションの境界値。 |
value_list | パーティションキー列の値のリスト。 それはRANGE COLUMNS() で使用されます。 |
value_list2 | 境界値のリスト。 |
MAXVALUE | パーティションの最大値。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
subpartition_name | サブパーティションの名前。 名前はテーブル内で一意である必要があります。 |
例
範囲リスト分割テーブルを作成します。
CREATE TABLE sales_range_list
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
レンジによるパーティー (金額)
リストによるSUBPARTITION (dept_no)
(
パートm1の値が (1000) 未満 (
SUBPARTITION p0の値 (1、2) 、
下位区分p1の値 (3、4) 、
下位区分p2の値 (5、6)
),
パーティションm2値未満 (2000) (
サブパートp3の値 (1、2) 、
下位分類p4の値 (3、4) 、
(5, 6) の下位分類p5値
),
PARTITION m3値がより少ない (最大値) (
(1、2) の下位区分p6値、
下位分類p7の値 (3、4) 、
(5、6) の下位分類p8値
)
);
範囲列リスト分割テーブルを作成します。
CREATE TABLE sales_range_columns_list
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
RANGE COLUMNSによるパーティー (日付)
リストによるSUBPARTITION (dept_no)
(
部分dp1値はより少ない ('2023-01-01 ')(
SUBPARTITION p0の値 (1、2) 、
下位区分p1の値 (3、4) 、
下位区分p2の値 (5、6)
),
PARTITION dp2値が未満 ('2024-01-01 ')(
サブパートp3の値 (1、2) 、
下位分類p4の値 (3、4) 、
(5, 6) の下位分類p5値
),
PARTITION dp3の価値はより少ない ('2025-01-01 ')(
(1、2) の下位区分p6値、
下位分類p7の値 (3、4) 、
(5、6) の下位分類p8値
)
);