myisam ve innodb arasındaki başlıca farklar;
- İkiside tablo yapısı için işlem motorlarıdır, veritabanı veya tabloyu oluştururken seçebilirsiniz.
- Myisam select işlemlerinde daha hızlıdır. Full text aramayı destekler.
- innodb full-text aramayı desteklemez.
- Insert ve Update işlemlerinde innodb daha fazla performans gösterir.
- Myisamda tablo kilitleme yapabilirsiniz.
- Innodb de transaction yapabilirsiniz (Commit ve Rollback), bu durum herhangi bir problemde verileri geri getirmenizi sağlar.
- Eğer programımızda çok fazla okuma ve listeleme işlemleri var ise Myisam seçmeliyiz.
- Programımız daha çok girdi, güncelleme ve silme işlemleri içeriyorsa innodb tercih etmelisiniz.
- Myisan foreign key desteklemez, innodb destekler.
- innodb, Row level-lock yapısındadır, işlem yapmak için tüm tabloyu kitlemez.
- innodb daha fazla sistem kaynağı tüketir.
Detaylı açıklamalar;
MyISAM, MySQL’in en eski veritabanı depolama motorudur. Standart depolama motoru olarak kabul görür. Tablolar, fiziksel diskin üç ayrı konumunda tutulur. Tablo başına 64 indeks oluşturulabilir. ForeignKey kullanımını desteklememektedir.
InnoDB ise güvenlik açısından tercih edilen bir veritabanı motorudur. İlişkisel veritabanını geçişi Foreign Key sayesinde sağlamaktadır. Aynı anda birden fazla kullanıcının UPDATE/DELETE işlemlerini sorunsuz bir şekilde yapılmasını sağlayacak şekilde tasarlanmıştır.
Özellik | MyISAM | Memory | InnoDB | Archive |
Depolama sınırları | 256TB | RAM | 64TB | Hiçbiri |
İşlemler | Yok | Yok | Evet | Yok |
Ayrıntı Kilitleme | Tablo | Tablo | Sıra | Sıra |
MVCC | Yok | Yok | Evet | Yok |
Coğrafi veri türü desteği | Evet | Yok | Evet | Evet |
Mekansal indeksleme destek | Evet | Yok | Yok | Yok |
B-tree indeksi | Evet | Evet | Evet | Yok |
Karma endeksler | Yok | Evet | Yok | Yok |
Tam metin dizinlerinde arama | Evet | Yok | Yok | Yok |
Kümelenmiş indeksler | Yok | Yok | Evet | Yok |
Veri önbellekleri | Yok | N/A | Evet | Yok |
Indeks önbellekleri | Evet | N/A | Evet | Yok |
Sıkıştırılmış veri | Evet | Yok | Evet | Evet |
Şifrelenmiş veri | Evet | Evet | Evet | Evet |
Küme veritabanı desteği | Yok | Yok | Yok | Yok |
Çoğaltma desteği | Evet | Evet | Evet | Evet |
İlişki kurma destek | Yok | Yok | Evet | Yok |
Yedekleme / nokta-in-time kurtarma | Evet | Evet | Evet | Evet |
Sorgu önbelleği destek | Evet | Evet | Evet | Evet |
Güncellenebilir Veri Sözlüğü için istatistikler | Evet | Evet | Evet | Evet |