Jika pernyataan INSERT, UPDATE, dan DELETE sering dieksekusi di database MySQL, data tidak lagi tersimpan secara berkelanjutan di disk, sehingga menyebabkan terbentuknya fragmen tablespace. Fragmen ini dapat menurunkan performa database. Operasi umum seperti menjalankan OPTIMIZE TABLE untuk mendefragmentasi ruang dapat mengunci tabel dan memengaruhi bisnis. Fitur perubahan skema tanpa kunci dari Data Management (DMS) memungkinkan pengumpulan kembali fragmen tablespace secara otomatis tanpa mengunci tabel, meningkatkan performa dan efisiensi database serta mengurangi biaya penyimpanan. Topik ini menjelaskan cara mengirim Tiket perubahan skema tanpa kunci di DMS untuk mendefragmentasi ruang secara otomatis.
Prasyarat
Anda memiliki izin untuk mengubah tabel di database tempat Anda ingin mendefragmentasi ruang. Untuk informasi lebih lanjut, lihat Lihat Izin yang Dimiliki dan Kelola Izin.
Fitur perubahan skema tanpa kunci harus diaktifkan untuk instance database MySQL. Untuk informasi lebih lanjut, lihat Aktifkan Fitur Perubahan Skema Tanpa Kunci.
Catatan penggunaan
Sebelum mendefragmentasi ruang pada tabel besar, pastikan ruang penyimpanan tersisa di instance database setidaknya dua kali ukuran tabel tersebut. Pantau dengan cermat ruang penyimpanan selama proses perubahan database.
Saat mendefragmentasi ruang pada tabel besar, Anda mungkin memerlukan salinan sementara untuk menyimpan data, yang membutuhkan ruang tambahan. Jika ruang penyimpanan tidak mencukupi, DMS mungkin gagal melakukan defragmentasi atau instance database dapat terkunci.
DMS melakukan defragmentasi ruang dengan mengeksekusi pernyataan DDL untuk mengubah skema tanpa mengunci tabel. Namun, tingkat keberhasilan eksekusi pernyataan ini tidak dapat mencapai 100%.
Lihat ukuran fragmen tablespace
Masuk ke instance database MySQL di Konsol DMS. Di tab SQLConsole, eksekusi pernyataan SHOW TABLE STATUS LIKE 'table_name'; untuk melihat ukuran fragmen tablespace. Untuk informasi lebih lanjut tentang cara menanyakan data di tab SQLConsole, lihat Ikhtisar.
Gambar berikut menunjukkan contoh hasil kueri. Parameter Data_free menunjukkan ukuran fragmen tablespace dalam tabel, dengan satuan byte.

Prosedur
- Masuk ke Konsol DMS V5.0.
Di bilah navigasi atas, pilih Database Development > Data Change > Lock-free Change.
CatatanJika Anda menggunakan Konsol DMS dalam mode sederhana, klik ikon
di pojok kiri atas dan pilih . Konfigurasikan Tiket perubahan skema tanpa kunci. Untuk informasi lebih lanjut, lihat Melakukan Operasi DDL Tanpa Kunci.
Setelah fitur perubahan skema tanpa kunci diaktifkan untuk instance database, DMS secara otomatis akan mendefragmentasi ruang setiap kali Anda mengirim Tiket perubahan skema tanpa kunci. Untuk memastikan stabilitas proses dan mengurangi dampak pada tabel lain yang bergantung atau terkait, gunakan salah satu pernyataan SQL berikut dalam tiket:
ALTER TABLE table_name COMMENT 'Komentar tabel yang dimodifikasi';ALTER TABLE table_name ENGINE=InnoDB;OPTIMIZE TABLE table_name;ALTER TABLE table_name MODIFY COLUMN field_name INT COMMENT 'Komentar bidang yang dimodifikasi';