All Products
Search
Document Center

ApsaraDB RDS:Faster DDL

Last Updated:Jul 16, 2026

Topik ini menjelaskan fitur Faster DDL yang menyediakan mekanisme pengelolaan buffer pool yang dioptimalkan, sehingga mengurangi dampak operasi bahasa definisi data (DDL) dan meningkatkan jumlah operasi DDL konkuren yang diizinkan.

Prasyarat

Instans RDS Anda harus menjalankan salah satu versi MySQL berikut:

Informasi latar belakang

Operasi DDL umum terjadi pada instans RDS. Saat menggunakan instans RDS Anda, Anda mungkin mengalami masalah terkait operasi DDL, seperti:

  • Saat menambahkan indeks, mengapa terjadi jitter performa yang mengganggu operasi baca dan tulis pada instans RDS Anda?
  • Mengapa diperlukan lebih dari 10 menit untuk menjalankan operasi DDL pada tabel yang ukurannya kurang dari 1 GB?
  • Saat koneksi yang menghasilkan tabel temporary ditutup, mengapa terjadi jitter performa?

Tim mesin database ApsaraDB for RDS telah melakukan analisis mendalam dan pengujian intensif untuk mengidentifikasi masalah tersebut. Berdasarkan temuan tersebut, tim menemukan kekurangan dalam logika maintenance cache yang digunakan untuk mengelola operasi DDL. Untuk mengatasi hal ini, tim mengembangkan fitur Faster DDL. Mekanisme pengelolaan buffer pool yang dioptimalkan oleh fitur ini mengurangi persaingan lock yang dipicu oleh operasi DDL. Dengan demikian, saat instans RDS Anda memproses beban kerja normal, performa instans dapat tetap terjaga selama operasi DDL.

Aktifkan Faster DDL

Anda dapat mengaktifkan fitur Faster DDL dengan mengatur parameter loose_innodb_rds_faster_ddl ke ON di Konsol ApsaraDB for RDS. Untuk informasi selengkapnya, lihat Modifikasi parameter instans.

Pengujian dengan operasi DDL

  • Skenario pengujian

    Gunakan algoritma in-place untuk menjalankan operasi DDL Online dengan mengeksekusi pernyataan berikut yang didukung MySQL 8.0: CREATE INDEX dan OPTIMIZE TABLE. Pernyataan CREATE INDEX membuat indeks pada tabel tanpa perlu membangun ulang tabel, sedangkan OPTIMIZE TABLE membuat indeks dengan membangun ulang tabel.

    Operasi Instant In-place Rebuilds table Permits concurrent DML operations Only modifies metadata
    CREATE INDEX No Yes No Yes No
    OPTIMIZE TABLE No Yes Yes Yes No
  • Instans pengujian

    Instans RDS yang digunakan untuk pengujian menjalankan MySQL 8.0, dilengkapi 8 core CPU dan memori 64 GB. Ukuran tabel tempat operasi DDL dijalankan adalah 600 MB.

  • Prosedur pengujian

    Gunakan SysBench untuk menjalankan uji stres. Dalam pengujian ini, lakukan operasi DDL Online dan bandingkan hasilnya.

  • Hasil pengujian
    Operasi Durasi eksekusi rata-rata (dengan Faster DDL dinonaktifkan) Durasi eksekusi rata-rata (dengan Faster DDL diaktifkan) Kali peningkatan performa
    CREATE INDEX 56 detik 4,9 detik 11,4
    OPTIMIZE TABLE 220 detik 17 detik 12,9
  • Rangkuman pengujian

    Fitur Faster DDL memungkinkan ApsaraDB RDS for MySQL dengan AliSQL mengurangi durasi eksekusi operasi DDL lebih dari 90% dibandingkan dengan Edisi Komunitas MySQL.

Pengujian dengan tabel temporary

Tabel temporary umum digunakan dalam MySQL. Misalnya, sistem membuat tabel temporary untuk mengkueri tabel dari database information_schema atau untuk mempercepat eksekusi Pernyataan SQL yang kompleks. Saat sebuah thread keluar, semua tabel temporary terkait akan dihapus—jenis operasi DDL tertentu yang menyebabkan jitter performa pada instans RDS Anda. Untuk informasi selengkapnya, lihat Temp ibt tablespace truncation at disconnection stuck InnoDB under large BP.

  • Instans pengujian

    Instans RDS yang digunakan untuk pengujian menjalankan MySQL 8.0, dilengkapi 8 core CPU dan memori 64 GB.

  • Prosedur pengujian

    Gunakan tpcc-mysql untuk menjalankan uji stres. Dalam pengujian ini, jalankan kueri hingga kolam buffer mencapai kapasitas hampir penuh, lalu luncurkan permintaan single-threaded melalui koneksi singkat untuk menghasilkan tabel temporary.

  • Hasil pengujian
    Item perbandingan Tanpa operasi DDL Faster DDL diaktifkan Faster DDL dinonaktifkan
    Transaksi per detik (TPS) 42.000 40.000 < 10.000

    Gambar berikut menunjukkan data performa per detik yang diperoleh dari uji stres. Bagian yang disorot merah menunjukkan TPS yang didukung oleh instans RDS saat fitur Faster DDL dinonaktifkan.

    TPS
  • Rangkuman pengujian

    Setiap kali thread yang menghasilkan tabel temporary keluar, MySQL native menyebabkan jitter performa parah yang menurunkan TPS lebih dari 70%. Setelah fitur Faster DDL diaktifkan, penurunan TPS berkurang menjadi 5%.

Efek optimasi

Fitur Faster DDL mendukung MySQL 5.6, 5.7, dan 8.0. Namun, operasi DDL yang didukung dapat berbeda tergantung pada versi MySQL yang digunakan.

Kategori Operasi DDL MySQL 5.6 MySQL 5.7 MySQL 8.0
In-place DDL Untuk informasi selengkapnya, lihat MySQL 8.0 Online DDL Operations dan MySQL 5.7 Online DDL Operations. No Yes Yes
Manajemen tablespace Mengaktifkan atau menonaktifkan enkripsi tablespace. No Yes Yes
Melepaskan atau menghapus tablespace. No Yes Yes
Membuang tablespace. Yes Yes Yes
Penghapusan tabel Melepaskan atau menghapus tabel. Yes Yes Yes
Operasi undo Melepaskan atau menghapus tablespace undo. No No Yes
Refresh tabel Melakukan refresh tabel dan halaman kotornya. Yes Yes Yes

Cacat yang diperbaiki oleh Faster DDL

Fitur Faster DDL memperbaiki cacat berikut: