更新时间:2026-01-12 GMT+08:00
KEY-RANGE
语法
创建一个或多个KEY-RANGE分区表,其中每个分区可能有一个或一个以上的子分区。
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY [LINEAR] KEY (column_list)
SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)}
(partition_definition [, partition_definition] ...); 其中,partition_definition为:
PARTITION partition_name
(subpartition_definition [, subpartition_definition] ...) subpartition_definition为:
SUBPARTITION subpartition_name
VALUES LESS THAN {value | value_list | MAXVALUE} 参数名称 | 描述 |
|---|---|
table_name | 要创建的表名称。 |
expr | 分区字段表达式,目前只支持INT类型,不支持字符类型。 |
column_list | RANGE COLUMNS的情况下使用,分区字段列表,不支持表达式。 |
value | 分区边界值。 |
value_list | LIST COLUMNS的情况下使用,多个字段的边界值。 |
MAXVALUE | 最大值。 |
partition_name subpartition_name | 分区名称,同一个表中不可重复。 子分区名称,同一个表中不可重复。 |
使用示例
KEY-RANGE类型的使用示例
CREATE TABLE tbl_key_range
(
col1 INT,
col2 INT,
col3 varchar(20),
col4 DATE
)
PARTITION BY KEY(col1)
SUBPARTITION BY RANGE COLUMNS(col4)
(
PARTITION p0(
SUBPARTITION p0_q1_2023 VALUES LESS THAN('2023-04-01'),
SUBPARTITION p0_q2_2023 VALUES LESS THAN('2023-07-01'),
SUBPARTITION p0_q3_2023 VALUES LESS THAN('2023-10-01'),
SUBPARTITION p0_q4_2023 VALUES LESS THAN('2024-01-01')
),
PARTITION p1(
SUBPARTITION p1_q1_2023 VALUES LESS THAN('2023-04-01'),
SUBPARTITION p1_q2_2023 VALUES LESS THAN('2023-07-01'),
SUBPARTITION p1_q3_2023 VALUES LESS THAN('2023-10-01'),
SUBPARTITION p1_q4_2023 VALUES LESS THAN('2024-01-01')
),
PARTITION p2(
SUBPARTITION p2_q1_2023 VALUES LESS THAN('2023-04-01'),
SUBPARTITION p2_q2_2023 VALUES LESS THAN('2023-07-01'),
SUBPARTITION p2_q3_2023 VALUES LESS THAN('2023-10-01'),
SUBPARTITION p2_q4_2023 VALUES LESS THAN('2024-01-01')
)
); 
