全部產品
Search
文件中心

PolarDB:HASH-RANGE

更新時間:Jul 06, 2024

本文檔介紹了建立HASH-RANGE分區表的方法。

文法

建立一個或多個HASH-RANGE分區表,其中每個分區可能有一個或一個以上的子分區:

CREATE TABLE [ schema. ]table_name
 table_definition
   PARTITION BY [LINEAR] HASH(expr)
   SUBPARTITION BY RANGE (expr)
   (partition_definition [, partition_definition] ...)

其中,partition_definition為:

 PARTITION partition_name
        (subpartition_definition [, subpartition_definition] ...)

subpartition_definition為:

SUBPARTITION subpartition_name
             VALUES LESS THAN {value | MAXVALUE}

參數

參數名稱

參數說明

table_name

要建立的表名稱。

expr

分區欄位運算式,目前只支援INT類型,不支援字元類型。

value

分區邊界值。

MAXVALUE

最大值。

partition_name

分區名稱,同一個表中不可重複。

subpartition_name

子分區名稱,同一個表中不可重複。

樣本

HASH-RANGE類型的使用樣本:

CREATE TABLE sales_hash_range
(
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT
)
PARTITION BY HASH(dept_no)
SUBPARTITION BY RANGE(part_no)
(
PARTITION p0 (
    SUBPARTITION s0 VALUES LESS THAN(4),
    SUBPARTITION s1 VALUES LESS THAN(7),
    SUBPARTITION s2 VALUES LESS THAN(10),
    SUBPARTITION s3 VALUES LESS THAN(13)
  ),
  PARTITION p1
  (
    SUBPARTITION s4 VALUES LESS THAN(4),
    SUBPARTITION s5 VALUES LESS THAN(7),
    SUBPARTITION s6 VALUES LESS THAN(10),
    SUBPARTITION s7 VALUES LESS THAN(13)
  ),
  PARTITION p2
  (
    SUBPARTITION s8 VALUES LESS THAN(4),
    SUBPARTITION s9 VALUES LESS THAN(7),
    SUBPARTITION s10 VALUES LESS THAN(10),
    SUBPARTITION s11 VALUES LESS THAN(13)
  )
);