InnoDB ve MyISAM Nedir?
Selamün Aleyküm Arkadaşlar;
InnoDB ve MyISAM MySQL veritabanı depolama motorlarıdır. Veri yazma, okuma ve saklama işlemini yaparlar. MySQL varsayılan depolama motoru olarak MyISAM kullanır. (MySQL 3.23’den beri)
İkisininde avantaj ve dezavantajları vardır. Yapılan işlemlere göre kullanılması gerekir. Eğer bir veri yazılırken hata oluşması durumunda (rollback) işlemi geri almak istiyorsak InnoDB motorunu kullanmamız gerekir. Transaction özelliği mevcuttur. MyISAM motorunda ise bu özellik yoktur. Daha çok tek tip select (ilişkisel olmayan tablolar) kullanılacaksa ve aynı anda INSERT, UPDATE, DELETE işlemi kullanılmayacaksa MyISAM motorunu kullanmak daha avantajlıdır.
[table]
MyISAM | InnoDB | ||
---|---|---|---|
İlişkisel değildir. Foreign Key desteği yoktur. Veri bütünlüğü sağlanmaz. | İlişkiseldir. Foreign Key desteği vardır. Veri bütünlüğü sağlanır. | ||
Transaction özelliği yoktur. | Transaction özelliği vardır. | ||
Insert ve Update işleminde tablo kilitlenip işlem yapılır. Aynı anda tabloda başka SQL işlemi yapılamaz. | Insert ve Update işleminde ilgili satır veya satırlar kilitlenip işlem yapılır. Aynı anda tabloda başka SQL işlemi yapılabilir. | ||
Full Text Arama destekler. | Full Text Arama desteklemez. | ||
Büyük boyutlu veritabanlarının performansı için dizayn edilmemiştir. 1-2 GB veriden sonra performans düşüşü yaşanır. | Büyük boyutlu veritabanlarının performansı için dizayn edilmiştir. | ||
Daha az sistem kaynağına ihtiyaç duyar. | Daha fazla sistem kaynağına ihtiyaç duyar. | ||
[/table]