本文档介绍了创建KEY-LIST分区表的方法。

语法

创建一个或多个KEY-LIST分区表,其中每个分区可能有一个或一个以上的子分区:
CREATE TABLE [ schema. ]table_name
 table_definition
 PARTITION BY [LINEAR] KEY(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 子分区名称,同一个表中不可重复。

示例

KEY-LIST类型的使用示例:
CREATE TABLE sales_key_list
(
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT
)
PARTITION BY KEY(part_no)
         SUBPARTITION BY LIST(amount)
(
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)
  )
);