全部产品
Search
文档中心

Data Management:Recycle tablespace fragments

更新时间:Jan 28, 2026

Jika pernyataan INSERT, UPDATE, dan DELETE sering dieksekusi dalam database MySQL, data tidak lagi disimpan secara kontinu pada disk, sehingga terbentuk fragmen ruang tabel (tablespace fragments). Fragmen tersebut dapat menurunkan performa database. Operasi umum seperti menjalankan pernyataan OPTIMIZE TABLE untuk mendaur ulang fragmen ruang tabel berpotensi mengunci (lock) tabel dan mengganggu bisnis. Fitur lock-free change dari Data Management (DMS) memungkinkan daur ulang fragmen ruang tabel secara otomatis sekaligus mencegah gangguan akibat penguncian tabel selama perubahan skema. Hal ini meningkatkan performa dan efisiensi database serta mengurangi biaya penyimpanan. Topik ini menjelaskan cara mengirimkan tiket lock-free schema change di DMS untuk mendaur ulang fragmen ruang tabel secara otomatis.

Prasyarat

Catatan penggunaan

Saat mengambil kembali ruang terfragmentasi dari tabel besar, pastikan ruang penyimpanan tersisa pada instans mencapai setidaknya dua hingga tiga kali ukuran tabel tersebut. Anda juga harus memantau ketat ruang penyimpanan tersisa selama proses perubahan.

Penting
  • Saat mendaur ulang fragmen ruang tabel pada tabel besar, DMS mungkin memerlukan salinan data sementara yang akan menggunakan ruang penyimpanan tambahan. Jika ruang penyimpanan tersisa pada instans database tidak mencukupi, proses daur ulang dapat gagal atau bahkan menyebabkan instans database terkunci.

  • DMS mendaur ulang fragmen ruang tabel dengan mengeksekusi pernyataan DDL untuk mengubah skema tanpa mengunci tabel. Namun, tingkat keberhasilan eksekusi pernyataan tersebut tidak dapat mencapai 100%.

View table fragmentation space size

Di Konsol SQL DMS, Anda dapat menjalankan pernyataan SQL berikut untuk melihat ruang terfragmentasi dalam suatu tabel: SHOW TABLE STATUS LIKE 'table_name';. Untuk informasi selengkapnya tentang cara menjalankan kueri di Konsol SQL, lihat Introduction to the SQL window.

Gambar berikut menunjukkan contoh hasil kueri. Parameter Data_free menunjukkan ukuran fragmen ruang tabel dalam byte.

image.png

Reclaim fragmented table space

  1. Masuk ke DMS console V5.0.
  2. Pada bilah navigasi atas, pilih Database Development > Data Change > Lock-free Change.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode simple, klik ikon 2022-10-21_15-25-22..png di pojok kiri atas, lalu pilih All functions > Database Development > Data Change > Lock-free Change.

  3. Konfigurasikan tiket lock-free schema change. Untuk informasi selengkapnya, lihat Perform lockless schema changes using lockless change tickets.

    Setelah fitur lockless change diaktifkan untuk suatu instans, DMS secara otomatis mengambil kembali ruang terfragmentasi setiap kali Anda mengeksekusi tiket lockless schema evolution. Untuk memastikan pengambilan kembali ruang terfragmentasi lebih andal dan meminimalkan dampak pada tabel yang bergantung atau terkait, Anda dapat menggunakan salah satu pernyataan SQL berikut dalam tiket:

    • OPTIMIZE TABLE table_name;

    • ALTER TABLE table_name COMMENT 'The new comment for the table';

    • ALTER TABLE table_name ENGINE=InnoDB;

    • ALTER TABLE table_name MODIFY COLUMN field_name INT COMMENT 'The new comment for the field';

      Catatan

      Meskipun semua pernyataan SQL di atas dapat mengambil kembali ruang, efek pengambilan kembali fragmen biasanya kurang menyeluruh saat dijalankan secara lockless di DMS—termasuk OPTIMIZE TABLE—dibandingkan dengan menjalankan OPTIMIZE TABLE secara native.