Jika Anda ingin mengubah sejumlah besar data dalam tabel tanpa mengunci tabel, Anda dapat menggunakan fitur DML tanpa kunci dari Data Management (DMS). Fitur ini membagi data target eksekusi satu pernyataan SQL menjadi beberapa batch dan mengeksekusi pernyataan SQL pada setiap batch. Dengan cara ini, dampak operasi DML terhadap kinerja database dan ruang database dapat dikurangi. Topik ini menjelaskan cara melakukan operasi DML tanpa kunci di DMS.
Prasyarat
Database harus berupa salah satu jenis berikut:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, PolarDB for Xscale, dan database MySQL pihak ketiga
PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, MyBase for PostgreSQL, dan database PostgreSQL pihak ketiga
MariaDB: ApsaraDB for MariaDB dan database MariaDB pihak ketiga
ApsaraDB for OceanBase dalam mode MySQL
PolarDB for PostgreSQL(Kompatibel dengan Oracle)
Instansi database dikelola dalam mode Perubahan Stabil atau Kolaborasi Keamanan di DMS. Untuk informasi lebih lanjut, lihat Lihat mode kontrol instansi.
Catatan penggunaan
Fitur DML tanpa kunci hanya mendukung operasi pada satu tabel dan pernyataan SQL sederhana seperti UPDATE dan DELETE.
Prosedur
- Masuk ke Konsol DMS V5.0.
Di bilah navigasi atas, pilih .
CatatanJika Anda menggunakan konsol DMS dalam mode sederhana, gerakkan pointer ke ikon
di sudut kiri atas dan pilih .Di halaman yang muncul, konfigurasikan parameter dan klik Submit. Tabel berikut menjelaskan parameter tersebut.
CatatanDalam contoh ini, instansi yang dikelola dalam mode Kolaborasi Keamanan digunakan. Jika Anda mengonfigurasi tiket perubahan tanpa kunci untuk instansi yang dikelola dalam mode Manajemen Fleksibel atau Perubahan Stabil, hanya parameter Database dan Pernyataan SQL untuk Perubahan yang diperlukan.
Parameter
Wajib
Deskripsi
Database
Ya
Database tempat Anda ingin melakukan perubahan data. Pilih database dari daftar drop-down Database. Anda juga dapat memasukkan kata kunci untuk mencari database.
CatatanAnda harus memiliki izin untuk melakukan perubahan data pada database yang diperlukan. Untuk informasi lebih lanjut, lihat Lihat izin yang dimiliki.
Execution Method
Ya
Metode eksekusi tiket. Nilai valid:
Pengirim Tiket Menjalankan Setelah Persetujuan
Otomatis Menjalankan Setelah Persetujuan
Pemberi Persetujuan Terakhir Menjalankan
CatatanJika Anda adalah administrator DMS, Anda dapat memodifikasi metode eksekusi di halaman Configuration Management dari modul . Untuk informasi lebih lanjut, lihat Manajemen konfigurasi.
Affected Rows
Ya
Perkiraan jumlah baris data yang mungkin terpengaruh oleh operasi perubahan data. Untuk mendapatkan jumlah baris yang sebenarnya terpengaruh, Anda dapat menggunakan fungsi COUNT dalam pernyataan SQL dan mengeksekusi pernyataan SQL di tab SQLConsole.
CatatanJika data ditulis secara terus-menerus, hitung jumlah baris data yang ada.
SQL Statements for Change
Ya
Masukkan pernyataan DML di bidang ini, seperti
UPDATE,DELETE, atauINSERT_SELECT.CatatanAnda juga dapat memasukkan pernyataan DDL untuk melakukan perubahan skema tanpa kunci. Untuk informasi lebih lanjut, lihat Melakukan operasi DDL tanpa kunci.
SQL Text
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter Pernyataan SQL untuk Perubahan ke Teks. Masukkan pernyataan SQL yang akan dieksekusi di editor SQL.
CatatanPisahkan beberapa pernyataan SQL dengan titik koma (;).
Jika Anda mengatur parameter Target Perubahan ke Instansi Sumber Data, Anda harus menambahkan nama database dalam format
${dbName}.${tableName}sebelum semua nama tabel dalam pernyataan SQL.DMS memeriksa apakah sintaks pernyataan SQL valid saat Anda mengirimkan tiket. Jika sintaks tidak valid, Anda tidak dapat mengirimkan tiket.
Attachment
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter Pernyataan SQL untuk Perubahan ke Lampiran. Unggah lampiran yang berisi pernyataan SQL yang dieksekusi untuk perubahan data.
CatatanFile yang ingin Anda unggah dapat berupa file TXT, ZIP, atau SQL. Ukuran file tidak boleh melebihi 15 MB.
SQL Statements for Rollback
Tidak
Pernyataan SQL yang dapat dieksekusi untuk rollback perubahan data.
SQL Text
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter SQL Statements for Rollback ke Text. Masukkan pernyataan SQL yang dapat dieksekusi untuk rollback perubahan data.
Attachment
Tidak
Parameter ini tersedia hanya jika Anda mengatur parameter Pernyataan SQL untuk Rollback ke Lampiran. Klik Unggah file untuk mengunggah lampiran yang berisi pernyataan SQL yang dieksekusi untuk rollback.
CatatanFile yang ingin Anda unggah dapat berupa file TXT, ZIP, atau SQL. Ukuran file tidak boleh melebihi 15 MB.
Change Stakeholder
Tidak
Pemangku kepentingan yang terlibat dalam perubahan data. Semua pemangku kepentingan yang ditentukan dapat melihat detail tiket dan berpartisipasi dalam proses persetujuan. Pengguna yang tidak relevan, kecuali administrator DMS dan administrator basis data (DBA), tidak memiliki akses ke detail tiket.
Attachments
Tidak
File yang digunakan sebagai lampiran tiket untuk memberikan informasi tambahan tentang perubahan data.
Klik Kirim. Setelah Anda mengirimkan tiket, Anda dapat mengaktifkan pengecekan delay master-slave, menentukan ambang batas, dan memodifikasi pernyataan SQL.
Opsional. Aktifkan pengecekan delay master-slave dan tentukan ambang batas. Ini mencegah pergantian utama/sekunder dipengaruhi oleh latensi tinggi dalam sinkronisasi antara database utama dan sekunder.
Di bagian Basic Information panel detail tiket, klik chunk option. Di kotak dialog opsi chunk, atur nilai yang sesuai untuk parameter ambang batas delay master-slave (detik). Jika latensi dalam sinkronisasi antara database utama dan sekunder melebihi ambang batas, DMS menangguhkan eksekusi SQL.
CatatanHanya database ApsaraDB RDS for MySQL yang mendukung fitur pengecekan delay master-slave.
Opsional. Modifikasi pernyataan SQL.
Setelah Anda mengirimkan tiket, DMS secara otomatis memeriksa awal pernyataan SQL. Jika pemeriksaan awal gagal, klik SQL Statements for Modification di langkah Pemeriksaan Awal untuk memodifikasi pernyataan SQL dan mencoba lagi.
Klik Submit for Approval. Tiket untuk instansi yang dikelola dalam mode Kolaborasi Keamanan disetujui berdasarkan aturan persetujuan yang ditentukan. Tiket untuk instansi yang dikelola dalam mode Perubahan Stabil disetujui secara otomatis.
Setelah tiket disetujui, klik Execute Change di langkah Execute.
CatatanAnda dapat melihat kemajuan persetujuan di langkah Approval di panel detail tiket.
Konfigurasikan parameter yang dijelaskan dalam tabel berikut untuk tugas tersebut.
Parameter
Deskripsi
Execution Strategy
Running immediately: Ini adalah nilai default. Setelah Anda klik Confirm Execution, tugas langsung dijalankan.
Schedule: Jika Anda memilih opsi ini, Anda harus menentukan waktu mulai untuk tugas. Setelah Anda klik Confirm Execution, tugas dijalankan pada waktu yang ditentukan.
CatatanWaktu eksekusi aktual mungkin memiliki deviasi ±1 menit dari waktu eksekusi yang ditentukan.
Specify End Time
Menentukan waktu ketika tugas berakhir. Sistem menghentikan tugas pada waktu akhir yang ditentukan terlepas dari apakah tugas selesai. Ini mencegah tugas memengaruhi bisnis Anda selama jam sibuk.
CatatanWaktu akhir tugas aktual mungkin memiliki deviasi ±1 menit dari waktu akhir yang ditentukan.
Primary/Secondary Node Check
Anda dapat mengaktifkan fitur ini untuk terus mempertahankan sinkronisasi data antara instansi utama dan sekunder, menyediakan ketersediaan tinggi dan pemulihan kesalahan cepat.
Canary Release Type
Kebijakan untuk mengeksekusi pernyataan SQL. Nilai valid:
No Canary Release: DMS secara otomatis mengeksekusi semua pernyataan SQL dalam tugas.
Suspend after Executing the First SQL Statement: Setelah pernyataan SQL pertama berhasil dieksekusi, DMS secara otomatis menangguhkan eksekusi SQL. Jika Anda perlu melanjutkan, klik Retry. Kemudian, DMS mengeksekusi pernyataan SQL yang tersisa segera tanpa jeda lebih lanjut.
Suspend after Executing an SQL Statement: DMS menangguhkan setelah eksekusi setiap pernyataan SQL tunggal. Anda perlu secara manual klik Retry untuk mengeksekusi pernyataan SQL berikutnya.
Klik Confirm Execution.
CatatanTugas yang ditangguhkan dapat dijalankan ulang.
Anda dapat melihat status dan detail tugas di langkah Execute. Anda juga dapat mengklik Log Penjadwalan di kolom Tindakan untuk melihat log penjadwalan tugas.
Referensi
Setelah Anda melakukan operasi DML tanpa kunci, Anda juga dapat melakukan operasi berikut:
Kueri data di tab SQL Console. Untuk informasi lebih lanjut, lihat bagian Kueri data topik "Kelola database di tab SQLConsole".
Ekspor data database. Untuk informasi lebih lanjut, lihat Ekspor database.
Ekspor set hasil SQL. Untuk informasi lebih lanjut, lihat Ekspor set hasil SQL.
Operasi API berikut terkait dengan tiket perubahan tanpa kunci:
FAQ
T: Apakah fitur DML tanpa kunci mendukung pernyataan SQL yang kompleks?
A: Tidak. Fitur DML tanpa kunci tidak mendukung pernyataan SQL yang kompleks seperti CREATE_INDEX atau operasi pada beberapa tabel seperti pernyataan DELETE yang mencakup operasi JOIN. Untuk informasi lebih lanjut tentang pernyataan SQL yang didukung, lihat bagian Batasan topik "Ikhtisar".