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

语法

创建一个或多个HASH-HASH分区表,其中每个分区可能有一个或一个以上的子分区:
CREATE TABLE [ schema. ]table_name
 table_definition
   PARTITION BY [LINEAR] HASH(expr) [PARTITIONS num]
   SUBPARTITION BY [LINEAR] HASH(expr) [SUBPARTITIONS sub_num]
   [partition_definition [, partition_definition] ...];
其中,partition_definition为:
 PARTITION partition_name
        (subpartition_definition [, subpartition_definition] ...)
其中,subpartition_definition为:
SUBPARTITION subpartition_name

参数

参数名称 参数说明
table_name 要创建的表名称.
expr 分区字段表达式,目前只支持INT类型,不支持字符类型。
num 用于分区是HASH或者KEY类型的分区表,来指定分区个数。
sub_num 用于二级分区是HASH或者KEY类型的分区表,来指定单个分区的子分区的个数。
partition_name 分区名称,同一个表中不可重复。
subpartition_name 子分区名称,同一个表中不可重复。

示例

HASH-HASH类型的使用示例:
CREATE TABLE sales_hash_hash
(
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT
)
   PARTITION BY HASH(month(date))
   SUBPARTITION BY HASH(TO_DAYS(date)) (
    PARTITION m0 (
           SUBPARTITION d0,
           SUBPARTITION d1
       ),
    PARTITION m1 (
           SUBPARTITION d2,
           SUBPARTITION d3
       ),
    PARTITION m2 (
           SUBPARTITION d4,
           SUBPARTITION d5
           )
       );