W dzisiejszych czasach zawsze domyślnie używam InnoDB, szczególnie w przypadku tabel z intensywnym zapisem, o których wspominasz, gdzie MyISAM cierpi z powodu pełnego blokowania tabeli. Oto dokładne porównanie.
Powody, dla których warto korzystać z MyISAM:
- Stoły są naprawdę szybkie w przypadku ciężkich ładunków
- Blokady na poziomie tabeli ograniczają ich skalowalność w środowiskach wielu użytkowników intensywnie korzystających z zapisu.
- Najmniejsze zużycie miejsca na dysku
- Indeks pełnotekstowy
- Scalone i skompresowane tabele.
Powody, dla których warto korzystać z InnoDB:
- Transakcje ACID
- Blokowanie na poziomie wiersza
- Spójne odczyty – pozwala osiągnąć doskonałą współbieżność odczytu i zapisu.
- Klastrowanie kluczy głównych – w niektórych przypadkach zapewnia doskonałą wydajność.
- Obsługa kluczy zagranicznych.
- Zarówno strony indeksu, jak i dane mogą być buforowane.
- Automatyczne odzyskiwanie po awarii – w przypadku, gdy zamknięcie MySQL było nieczyste, tabele InnoDB nadal będą – odzyskiwanie do spójnego stanu – nie wymaga sprawdzania/naprawy jak MyISAM.
- Wszystkie aktualizacje muszą przejść przez silnik transakcyjny w InnoDB, co często spada - wydajność w porównaniu z nietransakcyjnymi silnikami pamięci masowej.
Powyższe zostało zaczerpnięte z ta strona , który wydaje się już nie działać.