全部产品
Search
文档中心

Data Management:Melakukan operasi DML tanpa kunci

更新时间:Jul 06, 2025

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

  1. Masuk ke Konsol DMS V5.0.
  2. Di bilah navigasi atas, pilih Database Development > Data Change > Lockless Change.

    Catatan

    Jika Anda menggunakan konsol DMS dalam mode sederhana, gerakkan pointer ke ikon function di sudut kiri atas dan pilih All Features > Database Development > Data Change > Lockless Change.

  3. Di halaman yang muncul, konfigurasikan parameter dan klik Submit. Tabel berikut menjelaskan parameter tersebut.

    Catatan

    Dalam 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.

    Catatan

    Anda 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

    Catatan

    Jika Anda adalah administrator DMS, Anda dapat memodifikasi metode eksekusi di halaman Configuration Management dari modul O&M. 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.

    Catatan

    Jika 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, atau INSERT_SELECT.

    Catatan

    Anda 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.

    Catatan
    • Pisahkan 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.

    Catatan

    File 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.

    Catatan

    File 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.

  4. 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.

      Catatan

      Hanya 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.

  5. 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.

  6. Setelah tiket disetujui, klik Execute Change di langkah Execute.

    Catatan

    Anda dapat melihat kemajuan persetujuan di langkah Approval di panel detail tiket.

  7. 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.

    Catatan

    Waktu 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.

    Catatan

    Waktu 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.

  8. Klik Confirm Execution.

    Catatan

    Tugas 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

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".