本文档介绍了创建HASH-LIST分区表的方法。
语法
创建一个或多个HASH-LIST分区表,其中每个分区可能有一个或一个以上的子分区:
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY [LINEAR] HASH(expr)
SUBPARTITION BY LIST (expr)
(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类型,不支持字符类型。 |
value_list | 字段的值。 |
partition_name | 分区名称,同一个表中不可重复。 |
subpartition_name | 子分区名称,同一个表中不可重复。 |
示例
HASH-LIST类型的使用示例:
CREATE TABLE sales_hash_list
(
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT
)
PARTITION BY HASH(dept_no)
SUBPARTITION BY LIST(part_no)
(
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)
)
);