更新时间:2025-05-12 GMT+08:00
KEY-LIST
语法
创建一个或多个KEY-LIST分区表,其中每个分区可能有一个或一个以上的子分区。
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY [LINEAR] KEY(expr)
SUBPARTITION BY LIST {(expr) | COLUMNS(column_list)}
(partition_definition [, partition_definition] ...);
其中,partition_definition为:
PARTITION partition_name
(subpartition_definition [, subpartition_definition] ...)
subpartition_definition为:
SUBPARTITION subpartition_name VALUES IN (value_list)
|
参数名称 |
描述 |
|---|---|
|
table_name |
要创建的表名称。 |
|
expr |
分区字段表达式,目前只支持INT类型,不支持字符类型。 |
|
column_list |
LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 |
|
value_list |
字段的值。 |
|
partition_name |
分区名称,同一个表中不可重复。 |
|
subpartition_name |
子分区名称,同一个表中不可重复。 |
使用示例
KEY-LIST类型的使用示例
CREATE TABLE tbl_key_list
(
col1 INT,
col2 INT,
col3 varchar(20),
col4 DATE
)
PARTITION BY KEY(col1)
SUBPARTITION BY LIST(col2)
(
PARTITION dp0 (
SUBPARTITION p0 VALUES in (1, 2),
SUBPARTITION p1 VALUES in (3, 4),
SUBPARTITION p2 VALUES in (5, 6)
),
PARTITION dp1
(
SUBPARTITION p3 VALUES in (1, 2),
SUBPARTITION p4 VALUES in (3, 4),
SUBPARTITION p5 VALUES in (5, 6)
),
PARTITION dp2
(
SUBPARTITION p6 VALUES in (1, 2),
SUBPARTITION p7 VALUES in (3, 4),
SUBPARTITION p8 VALUES in (5, 6)
)
);