更新时间:2024-12-16 GMT+08:00
分享

HASH-LIST

语法

创建一个或多个HASH-LIST分区表,其中每个分区可能有一个或一个以上的子分区。

CREATE TABLE [ schema. ]table_name
 table_definition
 PARTITION BY [LINEAR] HASH(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)
表1 参数说明

参数名称

描述

table_name

要创建的表名称。

expr

分区字段表达式,目前只支持INT类型,不支持字符类型。

column_list

LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。

value_list

LIST COLUMNS的情况下使用,多个字段的边界值。

partition_name

分区名称,同一个表中不可重复。

subpartition_name

子分区名称,同一个表中不可重复。

使用示例

HASH-LIST类型的使用示例
CREATE TABLE tbl_hash_list
(
    col1 INT,
    col2 INT,
    col3 varchar(20),
    col4 DATE
)
PARTITION BY HASH(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)
  )
);

相关文档