W bazie danych MySQL możesz wybierać pomiędzy kilkoma potężnymi silnikami, które będą zasilać Twoje tabele. W tym artykule pokażemy różnicę pomiędzy MyISAM i InnoDB. Na kursie MySQL ludzie często pytają mnie, czy jest lepszy, więc proszę.
MyISAM to podstawowy typ tabeli. Wyszukiwanie i wstawianie jest szybsze niż InnoDB. Jest lepszy w indeksowaniu, a także obsługuje indeksy tekstowe i blobowe. Umożliwia wyszukiwanie pełnotekstowe. Można go przenosić pomiędzy różnymi systemami operacyjnymi. Ma maksymalnie 64 klawisze.
Niestety nie obsługuje transakcji i kluczy obcych. System operacyjny ustala ograniczenia rozmiaru tabeli.
Dla każdej tabeli ten silnik tworzy trzy pliki: frm (plik formatu), myd (dane) i myi (informacje o kluczu i zawartości).
InnoDB jest dostępny od wersji MySQL 4.0. Jest to drugi najczęściej używany typ tabeli. Obsługuje transakcje. Użytkownicy techniki blokowania danych na poziomie wiersza. Jest odpowiedni dla środowisk, w których występuje duży odsetek zapytań zmieniających dane. Obsługuje także klucze obce.
Niestety, w tej wyszukiwarce nie można wykonywać wyszukiwania pełnotekstowego. Zajmuje więcej miejsca niż MyISAM.
Osobiście wolę MyISAM, ze względu na prostsze zarządzanie poszczególnymi bazami danych na poziomie systemu plików.
Marián Knězek