Quantcast
Channel: walecha [at] f0x - Slackware
Viewing all articles
Browse latest Browse all 24

MySQL - Mencegah Pembengkakan Ibdata

$
0
0

Ada yang pakai #InnoDB untuk databasenya? Pernah merasa kalau berkas ibdata* membengkak seiring dengan pertumbuhan data? Meskipun kemudian database dihapus, berkas ibdata* masih berukuran raksasa? Hal ini sering terjadi utamanya jika kita memiliki banyak #database yang menggunakan InnoDB, apalagi jika data yang tersimpan sudah mencapai jutaan atau lebih. Kondisi ini tidak akan menjadi masalah apabila satu atau lebih database dengan InnoDB kita hapus dan berkas ibdata* ikut menyesuaikan diri alias menyusut. Tetapi kenyataannya tidaklah demikian. Ibdata tidak didesain untuk menyusut meskipun seluruh database dengan format InnoDB kita hapus dari daftar. Artinya kita tetap menyimpan 'sampah' di dalam direktori database kita meskipun berkas databasenya sudah tidak ada. Menyebalkan bukan?

Apa sih #ibdata itu? Menurut dokumentasi dari #MySQL13, ibdata adalah sekumpulan berkas biasanya bernama ibdata1, ibdata2, dan seterusnya yang menyusun ruangan tabel sistem InnoDB. Berkas-berkas ini berisi metadata dari tabel-tabel InnoDB, kamus data, ruangan untuk log UNDO, buffer perubahan, dan buffer doublewrite. Berkas ini juga dapat memuat beberapa atau seluruh data dalam tabel (tergantung apakah opsi file-per-table dalam keadaan aktif pada saat tabel dibuat atau tidak). Jika opsi innodb_file_per_table diaktifkan, maka data dan indeks dari tabel yang akan dibuat (tabel baru) akan disimpan ke dalam berkas .ibd yang terpisah dan bukan disimpan di dalam ruangan tabel sistem.


Viewing all articles
Browse latest Browse all 24

Trending Articles