全部产品
Search
文档中心

PolarDB:HASH

更新时间:Jul 02, 2025

Topik ini menjelaskan cara membuat tabel partisi hash.

Sintaksis

Pernyataan berikut digunakan untuk membuat satu atau lebih tabel partisi hash. Data dipartisi berdasarkan aturan hash. Ekspresi dapat digunakan untuk memproses nilai kolom kunci partisi.

CREATE TABLE ... PARTITION BY [LINEAR] HASH(expr) [PARTITIONS number]
( PARTITION partition_name1,
  PARTITION partition_name2,...);

Parameter

Parameter

Deskripsi

expr

Ekspresi partisi. Harus bertipe INT. Tipe string tidak didukung.

number

Jumlah partisi hash.

partition_name

Nama partisi. Nama harus unik dalam tabel.

Deskripsi

Algoritma hash melakukan operasi modulo pada jumlah partisi.

Partisi hash mendukung tipe data ekstensi LINEAR HASH. LINEAR HASH berbeda dari HASH karena LINEAR HASH menggunakan algoritma linier, kuadrat, atau eksponensial, sedangkan HASH menggunakan modulus dari nilai fungsi hash. Secara sintaksis, satu-satunya perbedaan antara LINEAR HASH dan HASH adalah penambahan kata kunci dalam klausa PARTITION BY untuk LINEAR HASH.

Contoh

Buat tabel partisi hash:

CREATE TABLE sales_hash
(
  s_id        INT,
  dept_no     INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
)PARTITION by HASH (s_id)
PARTITIONS 7;

Buat tabel partisi hash linear:

CREATE TABLE sales_linear_hash
(
  s_id        INT,
  part_no     INT,
  country     varchar(20),
  date        DATE,
  amount      INT,
  PRIMARY KEY(s_id)
)PARTITION by LINEAR HASH (s_id)
PARTITIONS 7;