All Products
Search
Document Center

PolarDB:HASH-LIST

Last Updated:Feb 06, 2024

This topic describes how to create a hash-list partitioned table.

Syntax

The following statement is used to create one or more hash-list partitioned table where each partition may contain one or more subpartitions:

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

partition_definition is:

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

subpartition_definition is:

SUBPARTITION subpartition_name
     VALUES IN (value_list)

Parameters

Parameter

Description

table_name

The name of the table.

expr

The expression of the partition. It must be of the INT type. The string type is not supported.

value_list

The list of the boundary values.

partition_name

The name of the partition. The name must be unique within the table.

subpartition_name

The name of the subpartition. The name must be unique within the table.

Examples

Create a hash-list partitioned table:

CREATE TABLE sales_hash_list
(
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT
)
PARTITION BY HASH(dept_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)
  )
);