InnoDB menyimpan semua tabel dalam satu file besar ibdata1
.
Setelah menjatuhkan meja besar, file tetap ukurannya tidak peduli seberapa besar tabel itu. Bagaimana saya bisa mengecilkan file itu tanpa harus membuang dan mengimpor kembali seluruh database (yang memiliki total beberapa ratus GB)?
Saya pikir alasannya adalah karena Anda masih dapat mengembalikan dropping. Dalam kasus saya, saya tidak perlu melakukannya.
sumber
InnoDB hanya menyimpan semua tabel InnoDB Anda di ibdata1 jika Anda tidak menggunakan pengaturan berikut di file default my.cnf Anda:
DROP TABLE (dan DROP DATABASE) tidak dapat dibatalkan.
Itu bukan alasan kamu tidak bisa menyusutkan ibdata1.
Ini adalah penjelasan singkat, tetapi ibdata1 berisi InnoDB internal di samping data tabel Anda. Dari pemahaman saya, untuk mengecilkannya akan membutuhkan defragmenting, yang bukan operasi yang didukung.
sumber