Sintaksis
Data dibagi berdasarkan batas rentang. Batas waktu sering digunakan, dan batas partisi harus bertambah. Anda dapat menentukan MAXVALUE sebagai batas maksimum untuk rentang.
CREATE TABLE ...
PARTITION BY RANGE COLUMNS (daftar_kolom_partisi) [PARTITIONS jumlah]
(
PARTITION nama_part VALUES LESS THAN (daftar_nilai_batas_rentang),
PARTITION nama_part VALUES LESS THAN (daftar_nilai_batas_rentang),
...
)
daftar_kolom_partisi:
kolom_partisi[, kolom_partisi, kolom_partisi, ...]
daftar_nilai_batas_rentang:
nilai_batas_rentang[, nilai_batas_rentang, nilai_batas_rentang, ...]Untuk informasi lebih lanjut tentang perbedaan antara pembagian RANGE dan pembagian RANGE COLUMNS, lihat tabel Perbandingan antara pembagian RANGE dan pembagian RANGE COLUMNS pada topik "Ikhtisar".
Catatan penggunaan
Pembagian RANGE COLUMNS tidak mendukung fungsi partisi.
Secara default, tabel terpartisi dapat memiliki hingga 8.192 partisi.
Secara default, kunci partisi dapat mencakup hingga lima kolom kunci partisi.
Nama setiap partisi harus unik dan secara default dapat memiliki panjang hingga 16 karakter.
Contoh
Buat sebuah tabel dan bagi tabel tersebut berdasarkan kunci partisi vektor yang terdiri dari kolom birthday dan id menggunakan kebijakan pembagian RANGE COLUMNS.
CREATE TABLE tb_rc(
id bigint not null auto_increment,
bid int,
name varchar(30),
birthday datetime not null,
primary key(id)
)
PARTITION BY RANGE COLUMNS(birthday, id)
(
PARTITION p1 VALUES LESS THAN('2020-01-01', 1000),
PARTITION p2 VALUES LESS THAN('2021-01-01', 2000),
PARTITION p3 VALUES LESS THAN('2022-01-01', 3000),
PARTITION pm VALUES LESS THAN(MAXVALUE,MAXVALUE)
)Batasan pada tipe data
Tipe bilangan bulat: BIGINT, BIGINT UNSIGNED, INT, INT UNSIGNED, MEDIUMINT, MEDIUMINT UNSIGNED, SMALLINT, SMALLINT UNSIGNED, TINYINT, dan TINYINT UNSIGNED.
Tipe tanggal dan waktu: DATETIME dan DATE.
Tipe string: CHAR dan VARCHAR.
Tipe titik tetap: DECIMAL, di mana jumlah digit di bagian pecahan harus 0.