Przeczytaj o Silnikach pamięci masowej .
MyISAM:
MyISAM silnik pamięci masowej w MySQL.
- Prostsze w projektowaniu i tworzeniu, a więc lepsze dla początkujących. Nie martw się o obce relacje między tabelami.
- Szybszy niż InnoDB w całości dzięki prostszej strukturze, a tym samym znacznie niższym kosztom zasobów serwera. -- Przeważnie już nie jest prawdą.
- Indeksowanie pełnotekstowe. -- InnoDB już to ma
- Szczególnie dobre dla tabel z intensywnym odczytem (wybrane). -- Przeważnie już nie jest prawdą.
- Ślad dysku jest 2x-3x mniejszy niż w InnoDB. -- Od wersji 5.7 jest to prawdopodobnie jedyna prawdziwa zaleta MyISAM.
InnoDB:
InnoDB silnik pamięci masowej w MySQL.
- Obsługa transakcji (obsługa ACID właściwość).
- Blokowanie na poziomie wiersza. Posiadanie bardziej precyzyjnego mechanizmu blokowania zapewnia wyższą współbieżność w porównaniu na przykład z MyISAM .
- Ograniczenia dotyczące kluczy obcych. Pozwalając na zapewnienie przez bazę danych integralności stanu bazy danych i relacji między tabelami.
- InnoDB jest bardziej odporny na uszkodzenia tabeli niż MyISAM.
- Obsługa dużej puli buforów dla danych i indeksów. Bufor klucza MyISAM jest przeznaczony tylko dla indeksów.
- MyISAM jest w stagnacji; wszystkie przyszłe ulepszenia będą dostępne w InnoDB. Stało się to bardzo jasne wraz z wprowadzeniem wersji 8.0.
Ograniczenia MyISAM:
- Brak kluczy obcych i kaskadowe usuwanie/aktualizacja
- Brak integralności transakcyjnej (zgodność z ACID)
- Brak możliwości cofania
- 4 284 867 296 wierszy (2^32) — to stare domyślne . Konfigurowalny limit (dla wielu wersji) to 2**56 bajtów.
- Maksymalnie 64 indeksy na tabelę
Ograniczenia InnoDB:
- Brak pełnego indeksowania tekstu (wersja mysql poniżej 5.6)
- Nie można skompresować do szybkiego, tylko do odczytu (wprowadzono 5.5.14
ROW_FORMAT=COMPRESSED
) - Nie można naprawić tabeli InnoDB
W celu uzyskania krótkiego zrozumienia przeczytaj poniższe linki:
- Silniki MySQL:InnoDB kontra MyISAM — porównanie zalet i wad
- Silnik MySQL:MyISAM kontra InnoDB
- Jakie są główne różnice między InnoDB i MyISAM?
- MyISAM kontra InnoDB
- Jaka jest różnica między MyISAM a InnoDB?
- MySql:MyISAM kontra Inno DB!