Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Jaki silnik baz danych?
Forum PHP.pl > Forum > Przedszkole
Demoneos
Gdy do tej pory samemu tworzyłem tabele, to nie wybierałem silnika (a więc pewnie ustawiany był jakiś domyślny). Ale ostatnio MySQL Workbench wygenerował mi zapytania tworzące tabele na podstawie diagramu i w zapytaniach tych ustawiony jest silnik:
  1. ENGINE=MyISAM

1. Czy jeżeli nie poda się w zapytaniu tworzącym tabelę jakiego chcemy urzywać używać silnika (tak jak powyżej), to domyślnie też będzie to MyISAM?
2, Czy jest dobry silnik, czy może zamiast niego użyć jakiegoś innego (lepszego, może bardziej wydajnego)?
prowseed
Używać, nie urzywać!

1. Obecnie domyslnym silnikiem dla mysql jest InnoDB.
2. http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html
Demoneos
Czyli warto chyba zmienić na InnoDB?
mortus
1. Domyślnym silnikiem jest ten ustawiony w pliku konfiguracyjnym MySQL (dyrektywa default-starage-engine).
2. To zależy. Jeśli przechowujesz w bazie dużo danych tekstowych, które później przeszukujesz/modyfikujesz pod kątem określonej wartości tekstowej, to lepiej używać silnika MyISAM z jego indeksami FULLTEXT-owymi. MyISAM nie umożliwia jednak określania relacji pomiędzy tabelami i wszelkie relacje trzeba kontrolować na poziomie aplikacji. InnoDB z kolei nie jest najszybsze w przeszukiwaniu/modyfikacji danych tekstowych, jednak umożliwia określanie relacji pomiędzy tabelami i kontroluje integralność danych powiązanych tymi relacjami. Wszystko zależy od założeń aplikacji. W niektórych sytuacjach lepszym rozwiązaniem może się okazać np. użycie zupełnie innego silnika o specyficznych właściwościach.
sunpietro
jakbyś chciał się dowiedzieć jakie są różnice między MyISAM a InnoDB to zapraszam do tego artykułu: różnice między MyISAM a InnoDB
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.