Tuesday 13 December 2011

MySql Engine : MyISAM atau InnoDB

Kebanyakan orang tidak begitu memperhatikan engine MySql yang mereka gunakan meskipun dalam kesehariannya mungkin orang-orang tersebut berkecimpung dalam console MySql selama lebih dari 6 jam dalam sehari.

Secara umum mungkin hal ini tidak begitu bermasalah karena default engine MySql yaitu MyISAM telah melakukan tugasnya dengan baik. Namun terkadang menggantinya ke engine lain atau sekedar untuk menambah wawasan dengan mengetahui apa saja kah yang dapat dilakukan oleh engine Mysql lainnya seperti InnoDB.

Banyak alasan kenapa banyak pelaku IT menggunakan Mysql sebagai Aplikasi Databasenya. Salah satu alasan utama mereka mungkin saja sama seperti alasan saya yaitu karena "Tidak perlu membeli lisensi untuk dapat menggunakan segala fasilitas yang ada pada MySql".

Artikel kali ini saya akan coba membandingkan perbedaan Mysql Engine MyISAM dengan InnoDB. Langkah pertama, mari kita lihat tipe-tipe MySql Engine dengan mengetikkan perintah berikut pada mysql console anda :



Untuk mengetahui engine apa yang digunakan pada sebuah table database mysql ketikkan perintah berikut :


Berikut beberapa perbedaan antara kedua engine Mysql tersebut :

1. Keterbatasan pada engine MyISAM
  • Tidak mengenal Foriegn keys dan cascading deletes dan updates
  • Tidak memiliki kemampuan rollback
  • Tidak dapat melakukan transactional integrity (ACID compliance)
  • Limit Rom sebanyak 4,284,867,296 rows
  • Maximum index per row = 64 indexes
2. InnoDB Limitations
  • No full text indexing
  • tidak dapat di kompres dengan cepat, read-only

Kapan harus menggunakan engine MyISAM?

Engine MyISAM di design untuk database yang query-nya lebih banyak dari update-nya. Dalam hal ini anda akan mendapatkan hasil query (READ) yang lebih cepat ketimbang write(INSERT / UPDATE).

Engine MyISAM menggunakan tabel level locking dan ini akan menjadi masalah besar ketika query pada database anda seperti INSERT/UPDATE/DELETE memiliki load yang cukup tinggi.

Kapan  harus menggunakan engine InnoDB?

Engine InnoDB menggunakan row level locking dan memiliki kemampuan untuk commit, rollback dan kemampuan crach-recovery untuk melindungi data-data anda. Engine ini juga memiliki dukungan untuk database transaksi dan tingkat toleransi kesalahan.


 jangan lupa commentnya ya bro&sis ... @ struggled against my own weakness

sumber : http://linuxers.org/howto/myisam-or-innodb-mysql-engine

No comments: