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;