Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menuntut Semula Ruang Cakera yang Digunakan oleh Jadual MySQL InnoDB?

Bagaimanakah Saya Boleh Menuntut Semula Ruang Cakera yang Digunakan oleh Jadual MySQL InnoDB?

Linda Hamilton
Linda Hamiltonasal
2025-01-02 20:07:39432semak imbas

How Can I Reclaim Disk Space Used by MySQL InnoDB Tables?

Menuntut Semula Ruang Cakera dalam MySQL InnoDB

Apabila memadamkan baris data daripada jadual MySQL menggunakan enjin storan InnoDB, ruang cakera yang diperuntukkan tidak dikeluarkan secara automatik. Ini boleh membawa kepada saiz fail ibdata1 yang semakin meningkat dan kemungkinan isu ruang cakera.

Satu kaedah untuk menangani isu ini ialah menggunakan perintah "optimumkan jadual". Walau bagaimanapun, arahan ini tidak mengurangkan saiz fail ibdata1. MySQL sengaja mengekalkan ruang ini untuk potensi penggunaan semula dalam operasi masa hadapan.

Untuk menuntut semula ruang cakera daripada MySQL, terdapat dua pendekatan utama:

1. Gugurkan dan Cipta Semula Jadual:

  • Lepaskan jadual sedia ada.
  • Buat semula jadual baharu dengan skema yang sama menggunakan pilihan ROW_FORMAT=COMPRESSED.
  • Masukkan semula data ke dalam jadual baharu.

Pendekatan ini mengeluarkan yang diperuntukkan ruang cakera tetapi memerlukan sandaran dan pemulihan.

2. Konfigurasikan innodb_file_per_table:

  • Edit fail konfigurasi MySQL (my.cnf) dan tambah baris berikut:

    innodb_file_per_table=1
  • Mulakan semula perkhidmatan MySQL .

Pilihan ini mencipta fail .ibd yang berasingan untuk setiap jadual dalam pangkalan data. Apabila anda memadamkan baris data dan menjalankan "optimumkan jadual", fail .ibd untuk jadual itu akan dikecilkan saiznya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menuntut Semula Ruang Cakera yang Digunakan oleh Jadual MySQL InnoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn