Technology

Mengubah Engine Database dari MyISAM ke InnoDb

 
  • 1
    Share

   

Mysql menyediakan banyak storage engine, akan tetapi yang paling sering digunakan adalah MyISAM dan InnoDB. Storage engine adalah mekanisme bagaimana data disimpan, diubah ataupun diambil dari suatu tabel. Karenanya dalam satu database Anda bisa membuat banyak macam jenis storage engine pada masing-masing tabelnya. Dari kedua storage engine yang paling populer tersebut (MyISAM dan InnoDB) terdapa beberapa kekurangan & kelebihan masing-masing antara lain

MyISAM

Keuntungan

  • Sederhana untuk perancangan sehingga memudahkan bagi pemula.
  • Lebih cepat daripada InnoDB pada keseluruhan, baik penyimpanan data ataupun konsumsi memory RAM sebagai akibat dari strukturnya yang sederhana sehingga jauh lebih sedikit konsumsi sumber daya server.
  • Lebih cepat pada proses pembacaan, sangat dianjurkan jika table sering terjadi proses pembacaan.
  • Mendukung Pengindeksan teks lengkap.
  • Kapasitas yang tertampung bisa lebih besar dibanding engine InnoDB. Sekitar 256TB, sedangkan InnoDB daya tampungnya 64TB.

Kekurangan

  • Tidak mendukung integritas data, sehingga untuk proses integritas data dilakukan secara program bukan di databasenya.
  • Tidak mendukung transaksi seperti commit, rollback ataupun crash recovery.
  • Lebih lambat dibanding InnoDB jika proses yang sering terjadi adalah insert atau update.

InnoDB

Keuntungan

  • Mendukung integritas data secara penuh dengan adanya foreignkey.
  • Lebih cepat dalam proses menulis-intensif (penyisipan, update) tabel.
  • Mendukung transaksi seperti commit, rollback ataupun crash recovery.

Kekurangan

  • Karena InnoDB mementingkan integritas, maka proses perancangan tentu membutuhkan usaha yang lebih besar.
  • Mengkonsumsi sumber daya sistem lebih besar baik dalam penyimpanan maupun memory RAM.
  • Proses pembacaan data lebih lambat dibanding engine MyISAM.
  • Tidak mendukung pengindeksan teks penuh.

Sumber

Berdasarkan hal diatas, MySQL memiliki fasilitas untuk mengubah engine database yang telah kita miliki tanpa harus menghapus database. Dengan langkah sebagai berikut:

a. 1 buah tabel/lebih

  • Masuk ke mysql
  • Masuk ke database yang akan dibuah storage engine
  • Ketik perintah untuk melakukan eksekusi
ALTER TABLE NAMA_TABEL ENGINE=MyISAM;

b. mengubah semua table pada database (banyak table)

  • Masuk ke mysql
  • Masukan script berikut
mysql -e "show tables in (nama tabel)" | tail --lines=+2 | xargs -i echo "ALTER TABLE {} ENGINE=INNODB;" > (namafile).innodb
  • Lakukan eksekusi penggantian engine.
mysql –database=(nama database < (namafile.innodb

Dapatkan Segera! Video Marketplace Domination: Cara Sukses Jualan di Tokopedia dan Bukalapak. Download Now!


  • 1
    Share

Artikel Terkait

Berikan Komentar

Your email address will not be published. Required fields are marked *