Mengenal MyISAM Beserta Kelebihan Dan Kekurangannya

,

Buat yang sehari-hari berkutat dengan database MySQL, mungkin tidak asing lagi dengan yang namanya storage engine MyISAM. Sebelum versi 5.5, MyISAM menjadi default storage ketika kita membuat table di database MySQL. MySQL sendiri adalah sebuah RDBMS (Relational Database Management System).

Setiap table MyISAM, tersimpan dalam disk dalam 3 (tiga) buah file, yakni namatable.FRM, namatable.MYD dan namatable.MYI. MySQL menggunaan file dengan ekstensi .FRM untuk menyimpan table definition, dan file ini sebenarnya bukan bagian dari engine MyISAM melainkan bagian dari server. Data akan disimpan di file yang mempunyai ekstensi .MYD dan index akan disimpan dalam file yang berekstensi .MYI.

MyISAM merupakan storage engine yang sederhana, stabil dan mudah digunakan. Untuk menyimpan data-data sederhana, tidak terlalu rumit, tidak memerlukan fitur foreign key, maka jenis storage engine ini dapat digunakan. Kelebihan utama dari MyISAM adalah kecepatan dan kestabilannya. Jenis storage engine ini juga mudah sekali untuk dilakukan backup & restore, hanya dengan mencopy paste, maka backup maupun restore dapat dilakukan dengan mudah tanpa harus menggunakan tools backup seperti mysqldump maupun tools lainnya.

Ketika kita memilih menggunakan MyISAM, maka secara otomatis MySQL akan menentukan satu dari tiga jenis MyISAM untuk dipakai, antara lain:

  1. Static. Jenis ini digunakan ketika semua field dalam table mempunyai ukuran yang fixed, yang artinya sebuah table tidak memiliki field-field yang sifatnya dinamis seperti BLOB, TEXT dan VARCHAR.
  2. Dynamic. Sesuai dengan namanya, jenis ini akan digunakan jika table memiliki field-field yang bertipe dinamis.
  3. Compressed. Kedua jenis table MyISAM di atas dapat dikompresi menjadi MyISAM Compressed dengan perintah myisamchk dengan ukuran yang lebih kecil. Namun ketika telah dilakukan compress, maka table bersifat static yang artinya tidak dapat ditambah, dirubah maupun dihapus recordnya dengan perintah INSERT, UPDATE maupun DELETE.

Dibalik kekuatan dan keuntungan menggunakan MyISAM, maka ada pula kelemahan yang diperoleh diantaranya:

  • Tidak ada fitur integritas data, dalam hal ini kita tidak bisa memasangkan fitur Foreign Key yang sangat berguna dalam relasi antar table.
  • Tidak mensupport Transaction. Setiap data yang tersimpan bersifat auto commit, sehingga kita tidak bisa melakukan transaction seperti Begin, Commit maupun Rollback.
  • Lebih lambat daripada InnoDB dalam hal table yang frekuensi Insert dan Updatenya cukup sering.

Demikian sedikit pengetahuan tentang MyISAM. Kalau dibandingkan dengan InnoDB, secara keseluruhan MyISAM unggul di posisi dimana ketika table difungsikan untuk SELECT dan tidak banyak operasi INSERT maupun UPDATE. Sedangkan InnoDB, lebih unggul dari MyISAM dalam 2 operasi tersebut disamping mendukung Transaction.

Storage Engine apa yang Anda pakai, silahkan tentukan berdasarkan kebutuhan agar sistem yang kita buat dapat berjalan dengan efisien dan sesuai dengan kebutuhan.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.