本文档介绍了创建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     varchar(20),
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT
)
PARTITION BY KEY(part_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)
  )
);