Tabel partisi KEY-KEY menggunakan Pembagian Kunci (KEY partitioning) untuk partisi primer dan subpartisi—merupakan bentuk partisi komposit di mana setiap partisi primer selanjutnya dibagi lagi menjadi subpartisi menggunakan ekspresi KEY kedua.
Sintaksis
CREATE TABLE [schema.]table_name
table_definition
PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num]
SUBPARTITION BY [LINEAR] KEY(expr) [SUBPARTITIONS sub_num]
(partition_definition [, partition_definition] ...)partition_definition:
PARTITION partition_name
(subpartition_definition [, subpartition_definition] ...)subpartition_definition:
SUBPARTITION subpartition_nameParameter
| Parameter | Deskripsi |
|---|---|
table_name | Nama tabel. |
expr | Ekspresi partisi. Harus bertipe INT. Tipe String tidak didukung. |
partition_name | Nama partisi. Harus unik dalam tabel. |
subpartition_name | Nama subpartisi. Harus unik dalam tabel. |
Contoh
Contoh berikut membuat tabel partisi KEY-KEY dengan tiga partisi primer berdasarkan dept_no dan dua subpartisi per partisi berdasarkan part_no, sehingga menghasilkan total enam subpartisi (3 × 2 = 6).
CREATE TABLE sales_key_key
(
dept_no varchar(20),
part_no varchar(20),
country varchar(20),
date DATE,
amount INT
)
PARTITION BY KEY(dept_no) PARTITIONS 3
SUBPARTITION BY KEY(part_no) SUBPARTITIONS 2;Catatan penggunaan
Hanya tipe INT: Kolom
expruntukPARTITION BY KEYmaupunSUBPARTITION BY KEYharus bertipe INT. Kolom bertipe String tidak didukung.Nama unik: Nama partisi dan nama subpartisi harus unik dalam tabel.
Opsi LINEAR: Tambahkan kata kunci
LINEARuntuk menggunakan algoritma penghashan linear.