Perbedaan MyIsam dan InnoDb pada MySQL

Bagi yang web developer yang sering menggunakan mySql dan PHP dalam pembuatan website pasti sudah tidak asing dengan Engine MYSQL diantaranya adalah InnoDb dan MyIsam. Setelah googling-googling saya menemukan bebrapa perbedannya. Berikut saya jelaskan perbedannya berdasarkan sumber disini

1. Mengenai file data

Pada MYISAM data dibagi menjadi tiga bagian file, yaitu; format tabel, data, dan index. Sedangkan pada innoDB tidak ada pemisahan data. So kelihatan innoDB lebih besasr dalam masalah kebutuhan storage.

2. RDB

Dari refernsi yang ku baca, paling pas lo kita pake RDb lebih di anjurkan pake innoDB karena pada innoDB mempunyai fitur foreign key. Sedang pada MYISAM walaupun masih bisa menggunakan join tapi tidak bisa foreign key. Jadi lo mau ada foreign key maka harus pake innoDB.

3. Transactionless dan transactional

Mungkin ini masih nyambung dengan point 2 tapi coba saya tekankan dengan memisahnya ke poin tiga. MyISAM tu transactionless, sedang InnoDB transactional. Artinya kalo mau pake function dari begintransaction, rollback, commit, dan endtransactions itu gak bisa di table dengan tipe MyISAM, harus di InnoDB.

dari penjelasan diatas maka dapat disimpulkan kelebihan dan kekurangan dari MyISAM


kelebihan dari InnoDB

  1. InnoDB harus digunakan di mana integritas data lebih prioritas.
  2. Lebih cepat dalam menulis-intensif (penyisipan, update) tabel karena menggunakan tingkat penguncian baris dan hanya tahan perubahan pada baris yang sama yang sedang dimasukkan atau diperbaharui.

Kekurangan dari InnoDB

  1. Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, database administrator dan pencipta skema harus mengambil lebih banyak waktu dalam mendesain model data yang lebih kompleks daripada MyISAM.
  2. Mengkonsumsi sumber daya sistem yang lebih seperti RAM. Direkomendasikan bahwa mesin InnoDB dimatikan jika tidak perlu substansial untuk itu setelah instalasi MySQL.
  3. Tidak-pengindeksan teks penuh.

kelebihan MyISAM

  1. Sederhana untuk merancang dan membuat, sehingga lebih baik untuk pemula. Jangan khawatir tentang hubungan luar negeri antara tabel.
  2. Lebih cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur sederhana sehingga jauh lebih sedikit biaya sumber daya server.
  3. Pengindeksan teks lengkap.
  4. Sangat baik untuk membaca-intensif (select) tabel.

Kekurangan dari MyISAM

  1. Tidak ada integritas data (misalnya kendala hubungan), yang kemudian datang tanggung jawab dan overhead dari para administrator database dan pengembang aplikasi.
  2. Tidak mendukung transaksi yang penting dalam aplikasi perbankan.
  3. Lebih lambat dari InnoDB untuk tabel yang sering dimasukkan atau diperbaharui, karena seluruh tabel terkunci untuk memasukkan atau memperbarui.

Perbandingan tersebut cukup sederhana. InnoDB lebih cocok untuk data situasi kritis yang membutuhkan menyisipkan sering dan update.

MyISAM, di sisi lain, melakukan yang lebih baik dengan aplikasi yang tidak cukup bergantung pada integritas data dan kebanyakan hanya memilih dan menampilkan data.

jadi mana yang lebih baik MyISAM atau InnoDb semua tergantung kebutuhan pemakai. Kedua Engine tersebut sama-sama hebat. Klo dalam aplikasi yang kamu bangun ntar lebih sering menggunakan select maka lebih baik menggunakan  MYISAM sedang lo lebih sering menggunakan update, insert, delete maka sebaiknya menggunaka innoDB. Nah lo butuh full-text search maka lebih baik gunakan MYISAM.

5 thoughts on “Perbedaan MyIsam dan InnoDb pada MySQL

Leave a Reply

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

*
*
Website