All Products
Search
Document Center

PolarDB:KEY-HASH

Last Updated:Mar 29, 2026

Partisi KEY-HASH menggabungkan partisi primer KEY dengan subpartisi HASH: baris pertama kali diarahkan ke partisi berdasarkan KEY, lalu dibagi lebih lanjut dalam setiap partisi tersebut berdasarkan HASH.

Sintaks

CREATE TABLE [schema.]table_name
  table_definition
  PARTITION BY [LINEAR] KEY(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

Parameter

ParameterDeskripsi
table_nameNama tabel.
exprEkspresi partisi. Harus bertipe INT. Tipe string tidak didukung.
partition_nameNama partisi. Harus unik dalam tabel.
subpartition_nameNama subpartisi. Harus unik dalam tabel.

Contoh

Buat tabel partisi KEY-HASH dengan 3 partisi KEY, masing-masing berisi 2 subpartisi HASH:

CREATE TABLE sales_key_hash
(
  dept_no  VARCHAR(20),
  part_no  INT,
  country  VARCHAR(20),
  date     DATE,
  amount   INT
)
  PARTITION BY KEY(dept_no) PARTITIONS 3
  SUBPARTITION BY HASH(part_no) SUBPARTITIONS 2;

Tabel tersebut memiliki total 6 subpartisi (3 partisi × 2 subpartisi). Baris didistribusikan terlebih dahulu berdasarkan dept_no (KEY), lalu dibagi lebih lanjut dalam setiap partisi berdasarkan HASH.