このトピックでは、レンジパーティションテーブルを作成する方法について説明します。
構文
次のステートメントは、1つ以上のレンジパーティションテーブルを作成するために使用されます。 データは、範囲境界によって分割される。 時間境界がしばしば使用される。 パーティションの境界は増分である必要があります。
テーブルを作成... レンジによるパーティー {(expr) COLUMNS(column_list)}
(partition_definition [, partition_definition] ...);
partition_definitionは次のとおりです。
PARTITION partition_name
{(value value_list) MAXVALUE}
より少ない値パラメーター
パラメーター | 説明 |
expr | パーティションの式。 INTタイプである必要があります。 string型はサポートされていません。 |
column_list | パーティションキー列のリスト。 式はサポートされていません。 |
value | パーティションの境界値。 |
value_list | パーティションの境界値のリスト。 それはRANGE COLUMNS() で使用されます。 |
MAXVALUE | パーティションの最大値。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
説明
範囲パーティションは、単一列パーティションキーをサポートします。
範囲パーティションは式をサポートします。
レンジパーティションは、Range COLUMNSの拡張データ型をサポートします。
RANGE COLUMNSは式をサポートしませんが、列をサポートします。
RANGE COLUMNSは、複数列のパーティションキーをサポートします。
RANGE COLUMNSは、INT、文字列型、DATE、およびDATETIMEのデータ型のパーティションキーをサポートしています。
例
範囲パーティション分割テーブルを作成する:
CREATE TABLE sales_range
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
レンジによるパーティー (金額)
(
PARTITION p0の値は (1000) 未満、
パートp1の値は (2000) 未満、
PARTITION p2の値は (3000) より少なく、
PARTITION p3の値がより少ない (最大値)
);
範囲列パーティションテーブルを作成します。
テーブルの作成sales_range_columns
(
dept_no INT、
part_no INT,
国varchar(20) 、
create_date日付、
金額INT
)
RANGE COLUMNSによるパーティー (create_date)
(
パートp1の値は以下 ('2023-01-01 ') 、
PARTITION p2の値は未満 ('2023-02-01 ') 、
PARTITION p3はより少ない値 ('2023-03-01 ') 、
PARTITION p4はより少ない値 ('2023-04-01 ')
);
テーブルの作成sales_range_columns
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
パーティーBY RANGE COLUMNS(dept_no, part_no)
(
パートp1の値がより少ない (1000、最大値) 、
パートp2値より少ない (2000、最大値) 、
PARTITION p3値より少ない (3000、最大値) 、
パートp4値未満 (4000、最大値)
);