Topik ini menjelaskan batasan terkait urutan dan cara menangani masalah yang mungkin muncul.
Urutan baru
- Urutan baru hanya dapat digunakan di database AUTO pada instance PolarDB-X dengan versi kernel V5.4.14 atau lebih baru.
- Hanya instance PolarDB-X versi 5.4.17 atau lebih baru yang mengizinkan Anda menentukan parameter INCREMENT BY, MAXVALUE, serta CYCLE atau NOCYCLE untuk urutan baru.
- Sebelum menurunkan versi kernel instance PolarDB-X yang berisi urutan baru ke versi yang tidak mendukung urutan baru, Anda harus mengonversi semua urutan baru menjadi urutan grup. Ikuti langkah-langkah berikut untuk melakukan konversi:
- Referensikan tampilan INFORMATION_SCHEMA.SEQUENCES untuk memeriksa apakah ada urutan baru di instance tersebut.
- Jika terdapat urutan baru di instance tersebut, jalankan pernyataan
CONVERT ALL SEQUENCES FROM NEW TO GROUPuntuk mengonversi semua urutan baru menjadi urutan grup. Untuk informasi lebih lanjut, lihat KONVERSI URUTAN.
- Dalam urutan baru, Global Meta Service (GMS) digunakan untuk menetapkan nilai kolom auto-incremental. Untuk memastikan performa yang optimal, GMS menyimpan cache beberapa nilai. Jika Anda melakukan operasi seperti pembaruan, failover, perubahan konfigurasi, atau migrasi pada GMS, nilai-nilai yang tersimpan sebelum operasi akan dibuang dan dilewati dalam urutan.
Urutan grup
- Secara default, urutan grup digunakan di database pada instance PolarDB-X dengan versi kernel V5.4.13 atau lebih lama, serta di database mode DRDS pada instance PolarDB-X versi kernel V5.4.14 atau lebih baru.
- Nilai awal urutan grup adalah 100001, yang menunjukkan bahwa nilai minimum urutan grup adalah 100001.
- Urutan grup yang berisi beberapa unit tidak dapat dikonversi menjadi jenis urutan lain, dan jenis urutan lain tidak dapat dikonversi menjadi urutan grup yang berisi beberapa unit. Anda hanya dapat mengubah nilai parameter START WITH untuk urutan grup yang berisi beberapa unit. Nilai parameter lain yang digunakan untuk mendefinisikan urutan tidak dapat diubah.
- Dalam definisi urutan unit yang termasuk dalam urutan grup yang sama, nilai parameter UNIT COUNT harus sama, sedangkan nilai parameter INDEX harus berbeda. Hal ini memastikan bahwa nilai urutan bersifat unik secara global di beberapa instance atau database.
- Kami menyarankan agar Anda tidak melakukan operasi berikut: Gunakan urutan grup dengan awalan
AUTO_SEQ_yang secara otomatis terkait dengan tabel saat tabel dibuat untuk mendapatkan NEXTVAL dan memasukkan nilai yang diperoleh ke dalam tabel sebagai nilai eksplisit menggunakanINSERT. Jika Anda melakukan operasi tersebut, urutan grup mungkin sering memperbarui cache dan dengan cepat meningkatkan nilainya.
Urutan waktu
Jika Anda ingin menggunakan urutan waktu untuk menghasilkan nilai untuk kolom auto-increment tabel, tipe data kolom tersebut harus BIGINT.