Sebagian besar waktu saya dihabiskan untuk bekerja dengan klien saya di Pemeriksaan Kesehatan Kinerja Basis Data Komprehensif . Bagian terbaik dari keterlibatan pemeriksaan kesehatan adalah saya bisa bertemu banyak orang baru dan berbagi banyak cerita berbeda. Baru-baru ini saya ditanya oleh salah satu DBA yang juga bekerja di MySQL bersama dengan SQL Server, apa mesin pilihan saya untuk MySQL – MyISAM atau InnoDB?
Saya pikir ini adalah pertanyaan yang sangat menarik untuk ditanyakan di tahun 2019 karena saya yakin tim MySQL sendiri telah membuat keputusan ini sejak MySQL versi 5.5. Mereka telah memilih InnoDB sebagai mesin default mereka sejak MySQL 5.5.
Berikut adalah lima alasan utama saya untuk menggunakan InnoDB
- InnoDB mendukung penguncian tingkat baris yang sangat penting untuk kinerja. MyISAM hanya mendukung penguncian tingkat tabel yang menciptakan hambatan besar ketika tabel Anda sering diperbarui.
- InnoDB mengimplementasikan transaksi, yang sangat penting pada aplikasi database mission-critical yang terlibat dalam perbankan serta e-commerce.
- InnoDB mendukung batasan hubungan seperti kunci asing yang membuatnya lebih ramah basis data relasional dibandingkan MyISAM yang tidak mendukung apa pun.
- InnoDB mendukung transaksi ACID (Atomicity, Consistency, Isolation, Durability), sehingga sepenuhnya sesuai dengan aturan RDBMS yang tidak didukung oleh MyISAM.
- InnoDB mengelola indeks dan tabel dasar dengan bantuan manajer penyimpanan secara internal dengan kumpulan buffer memori, yang sangat efisien dalam hal kinerja. MyISAM menggunakan file disk terutama untuk tabel dasar, yang tidak dioptimalkan untuk kinerja.
Saran saya adalah jika Anda harus memilih mesin, biarkan MySQL Anda menentukan mesin default atau pilih InnoDB yang memiliki fitur RDBMS terbaru.
Saat ini saya sedang menulis whitepaper tentang topik ini, setelah whitepaper diterbitkan, saya akan membagikannya kepada Anda semua sehingga Anda dapat membacanya.