Sintaksis
Dalam partisi LIST COLUMNS, Anda harus menentukan nilai kunci partisi untuk setiap partisi. Setiap nilai kunci partisi yang terdaftar harus unik. Anda dapat menggunakan DEFAULT untuk menentukan partisi penampung bagi baris yang tidak dicakup oleh partisi lainnya.
CREATE TABLE ...
PARTITION BY LIST COLUMNS(partition_column_list) [PARTITIONS number]
(
PARTITION part_name VALUES IN (list_bound_value_se),
PARTITION part_name VALUES IN (list_bound_value_set),
...
)
partition_column_list:
partition_column[, partition_column, partition_column, ...]
list_bound_value_set:
list_bound_value[, list_bound_value, list_bound_value, ...]Untuk informasi lebih lanjut tentang perbedaan antara partisi LIST dan partisi LIST COLUMNS, lihat tabel Perbandingan antara partisi LIST dan partisi LIST COLUMNS pada topik "Ikhtisar".
Catatan penggunaan
Partisi LIST COLUMNS tidak mendukung fungsi partisi.
Secara default, tabel yang dipartisi dapat berisi hingga 8.192 partisi.
Secara default, kunci partisi dapat terdiri dari hingga lima kolom kunci partisi.
Nama setiap partisi harus unik dan secara default dapat memiliki panjang hingga 16 karakter.
Jika Anda menggunakan kolom dengan tipe data sensitif zona waktu seperti TIMESTAMP sebagai kolom kunci partisi, Anda harus menggunakan fungsi partisi UNIX_TIMESTAMP untuk kolom kunci partisi tersebut.
Contoh
Gunakan kunci partisi vektor yang terdiri dari kolom birthday dan id untuk melakukan partisi LIST COLUMNS.
CREATE TABLE tb_lc(
id bigint not null auto_increment,
bid int,
name varchar(30),
birthday datetime not null,
primary key(id)
)
PARTITION BY LIST COLUMNS(birthday, id)
(
PARTITION p1 VALUES IN (('2020-01-01', 1000),('2020-01-01', 2000)),
PARTITION p2 VALUES IN (('2021-01-01', 1000),('2021-01-01', 2000)),
PARTITION p3 VALUES IN (('2022-01-01', 1000),('2022-01-01', 2000)),
PARTITION pm VALUES IN (DEFAULT)
)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, DATE, dan TIMESTAMP.
Tipe string: CHAR dan VARCHAR.
Tipe titik tetap: DECIMAL, di mana jumlah digit di bagian pecahan harus 0.