Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szybkość wykonywania zapytania MyISAM a InnoDB
Forum PHP.pl > Forum > Bazy danych > MySQL
Regss
Witam!
Czy normalnym jest to że importując niewielką bazę danych ~ 8mb jest taka rozbieżność w czasie importu na korzyść MyISAM? Próbuję zaimportować to samą bazę na obydwa silniki i na MyISAM wychodzi w kilka sekund a na InnoDB kilka minut! dysk przy tym strasznie chrobocze. Czy coś robię nie tak?
pmir13
InnoDB w przeciwieństwie do MyISAM to silnik transakcyjny. Jeżeli sami nie określimy inaczej traktuje każde zapytanie jako oddzielną transakcję a przy każdym commit musi zapisać log na dysku. Dlatego dla importu przy InnoDB przydaje się ustawić na początku dumpa
  1. SET AUTOCOMMIT = 0;

a na końcu
  1. COMMIT;
  2. SET AUTOCOMMIT = 1;

W zasadzie do tej pory w poważniejszych zastosowaniach panował silnik InnoDB, z wydzielonymi tabelami w MyISAM jeśli potrzebny był fulltext search, od wersji 5.6.4 jednak InnoDB również obsługuje fulltext, co zdecydowanie przemawia na jego korzyść.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.