All Products
Search
Document Center

PolarDB:Pembagian rentang interval

Last Updated:Aug 13, 2026

Pembagian rentang interval merupakan perluasan dari pembagian rentang (range partitioning) yang memungkinkan database membuat partisi secara otomatis ketika data yang dimasukkan melebihi rentang partisi yang telah ada.

Prasyarat

Versi kluster harus PolarDB for MySQL 8.0.2 dan versi revisi kluster harus 8.0.2.2.0 atau lebih baru. Untuk informasi tentang cara melihat versi kernel kluster Anda, lihat Query the engine version.

Informasi latar belakang

Saat memasukkan data ke dalam tabel partisi rentang, jika data tersebut berada di luar rentang partisi yang ada, operasi akan gagal dan sistem mengembalikan error. Namun, pada tabel partisi interval, jika data yang dimasukkan melebihi rentang partisi yang tersedia, database secara otomatis membuat partisi baru berdasarkan interval yang ditentukan dalam klausa INTERVAL.

Misalnya, jika interval partisi diatur menjadi satu bulan dan data yang dimasukkan berjarak dua bulan dari titik transisi saat ini (yaitu nilai batas maksimum partisi terakhir), maka partisi untuk bulan data tersebut beserta partisi untuk bulan-bulan sebelumnya hingga mencapai titik transisi akan dibuat secara otomatis. Sebagai ilustrasi, Anda membuat tabel partisi interval dengan interval satu bulan dan titik transisi saat ini adalah 15 September 2021. Jika Anda memasukkan data bertanggal 10 Desember 2021, database akan membuat tiga partisi baru yang mencakup periode dari 15 September 2021 hingga 15 Desember 2021, lalu memasukkan data tersebut ke dalam partisi yang sesuai dengan tanggal 10 Desember 2021.

Batasan

  • COLUMNS() hanya mendukung satu kunci partisi, yang harus berupa rentang numerik atau tanggal.

  • Anda harus menentukan setidaknya satu partisi rentang.

  • Partisi hanya dapat dibuat dalam urutan menaik.

  • Kunci partisi DATE tidak dapat menggunakan interval TIME (HOUR, MINUTE, atau SECOND). Kunci partisi TIME tidak dapat menggunakan interval DATE (YEAR, QUARTER, MONTH, WEEK, atau DAY). Kunci partisi SECOND memerlukan interval minimal 60.

  • Pernyataan INSERT SELECT dan UPDATE tidak dapat menambahkan partisi.

  • Interval tidak dapat diubah setelah tabel dibuat.

  • Subpartitioning hanya didukung untuk tabel partisi range-hash.

  • LOAD DATA mengharuskan rentang partisi yang ada mencakup seluruh data yang diimpor.

  • Trigger, fungsi tersimpan, dan prosedur tersimpan tidak dapat memasukkan data ke dalam partisi interval rentang.

  • Pernyataan LOCK TABLES tidak didukung.

  • Kunci partisi tidak boleh bertipe AUTO_INCREMENT, kolom virtual, kolom default yang di-generate, atau tipe STRING.

  • Partisi kustom (termasuk yang dibuat melalui pernyataan CREATE TABLE dan DDL) tidak boleh menggunakan awalan _p.

  • Partisi yang dibuat secara otomatis tidak dapat dikembalikan (rollback).

  • Operasi insert batch dapat membuat hingga 30 partisi sekaligus.

  • Menjalankan pernyataan DDL saat INSERT sedang membuat partisi secara otomatis dapat menyebabkan error deadlock.

  • Ikhtisar Interval Range merupakan perluasan dari pembagian rentang. Jika pembagian rentang interval tidak sesuai, gunakan pembagian rentang sebagai gantinya.

Penggunaan

Anda dapat mengatur parameter berikut untuk mengaktifkan atau mengonfigurasi pembagian rentang interval.
ParameterDeskripsi
partition_level_mdl_enabledPembagian rentang interval diimplementasikan berdasarkan fitur MDL tingkat partisi. Keuntungannya adalah granularitas Minimum Description Length (MDL) yang lebih kecil dapat mengurangi dampak pernyataan DDL terhadap pernyataan DML. Oleh karena itu, untuk menggunakan pembagian rentang interval, Anda harus memastikan bahwa parameter partition_level_mdl_enabled diatur ke ON. Jika parameter ini diatur ke OFF, Anda tidak dapat membuat tabel partisi interval rentang. Untuk tabel partisi interval rentang yang sudah ada, Anda hanya dapat memasukkan nilai yang berada dalam rentang partisi. Jika Anda memasukkan nilai di luar rentang tersebut, sistem akan melaporkan error.
interval_partitioning_enabledParameter interval_partitioning_enabled mengontrol fitur Pembagian rentang interval, sedangkan parameter partition_level_mdl_enabled mengontrol fitur MDL tingkat partisi. Kedua parameter ini diperlukan untuk fitur Pembagian rentang interval. Kedua parameter harus diatur ke ON. Jika parameter interval_partitioning_enabled diatur ke OFF, Anda tidak dapat membuat tabel partisi interval rentang. Untuk tabel partisi interval rentang yang sudah ada, Anda hanya dapat memasukkan nilai yang berada dalam rentang partisi. Jika Anda memasukkan nilai di luar rentang tersebut, sistem akan melaporkan error.
transaction_isolationFitur MDL tingkat partisi hanya dapat menyediakan isolasi pada level read-committed atau read-uncommitted. Oleh karena itu, parameter ini harus konsisten dengan level isolasi fitur MDL tingkat partisi. Secara default, kluster cloud menggunakan level isolasi read-committed.