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
InnoDB
harus digunakan di mana integritas data lebih prioritas.
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
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.
Mengkonsumsi
sumber daya sistem yang lebih seperti RAM. Direkomendasikan bahwa mesin InnoDB
dimatikan jika tidak perlu substansial untuk itu setelah instalasi MySQL.
Tidak-pengindeksan
teks penuh.
kelebihan
MyISAM
Sederhana
untuk merancang dan membuat, sehingga lebih baik untuk pemula. Jangan khawatir
tentang hubungan luar negeri antara tabel.
Lebih
cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur sederhana
sehingga jauh lebih sedikit biaya sumber daya server.
Pengindeksan
teks lengkap.
Sangat
baik untuk membaca-intensif (select) tabel.
Kekurangan
dari MyISAM
Tidak
ada integritas data (misalnya kendala hubungan), yang kemudian datang tanggung
jawab dan overhead dari para administrator database dan pengembang aplikasi.
Tidak
mendukung transaksi yang penting dalam aplikasi perbankan.
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.
Terima kasih telah membaca artikel tentang Perbedaan MyIsam dan InnoDb pada MySQL di blog Anshar Share jika anda ingin menyebar luaskan artikel ini di mohon untuk mencantumkan link sebagai Sumbernya, dan bila artikel ini bermanfaat silakan bookmark halaman ini di web browser anda, dengan cara menekan Ctrl + D pada tombol keyboard anda.