Senin, 19 September 2011

Engine : MyISAM & InnoDB

MyISAM
=> 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.
InnoDB
=> 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.
Perbedaan MyISAM dengan InnoDB :
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 referensi 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 kalau mau ada foreign key maka harus pake innoDB. Hehehe jadi mending pake innoDB aza.. :D
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.










0 komentar:

Posting Komentar

Template by:

Free Blog Templates