All Products
Search
Document Center

PolarDB:KEY

Last Updated:Mar 28, 2026

Pembagian Kunci (KEY partitioning) mendistribusikan data ke berbagai partisi menggunakan fungsi hash internal MySQL. Berbeda dengan partisi hash, Pembagian Kunci mendukung beberapa kolom kunci partisi dan kumpulan tipe kolom yang lebih luas.

Sintaksis

CREATE TABLE [schema.]table_name
  table_definition
  PARTITION BY [LINEAR] KEY(column_list) [PARTITIONS number]
  (partition_definition [, partition_definition] ...);

partition_definition adalah:

PARTITION partition_name

Parameter

ParameterDeskripsi
column_listKolom kunci partisi. Tentukan nol atau lebih kolom. Tipe yang didukung: INT, tipe string, DATE, TIME, dan DATETIME.
partition_nameNama partisi. Harus unik dalam tabel tersebut.
numberJumlah partisi.

Cara kerja Pembagian Kunci

Pembagian Kunci menggunakan algoritma hash internal yang sama seperti MySQL. Pembagian Kunci mendukung beberapa kolom dan tipe berikut: INT, tipe string, DATE, TIME, dan DATETIME.

Jika column_list dihilangkan, PolarDB menerapkan urutan fallback berikut:

  1. Kunci primary digunakan sebagai kunci partisi.

  2. Jika tidak ada kunci primary, kunci unik digunakan sebagai gantinya.

Pembagian Kunci juga mendukung tipe ekstensi LINEAR KEY.

Contoh

Partisi berdasarkan satu kolom

Buat partisi pada tabel sales berdasarkan s_id ke dalam 11 partisi:

CREATE TABLE sales_key
(
  s_id        VARCHAR(20),
  dept_no     INT,
  part_no     INT,
  country     VARCHAR(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
) PARTITION BY KEY (s_id)
PARTITIONS 11;

Gunakan LINEAR KEY

Gunakan LINEAR KEY untuk membuat tabel partisi kunci linear:

CREATE TABLE sales_linear_key
(
  s_id        VARCHAR(20),
  dept_no     INT,
  part_no     INT,
  country     VARCHAR(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
) PARTITION BY LINEAR KEY (s_id)
PARTITIONS 11;