![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 26.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
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. Czy jeżeli nie poda się w zapytaniu tworzącym tabelę jakiego chcemy 2, Czy jest dobry silnik, czy może zamiast niego użyć jakiegoś innego (lepszego, może bardziej wydajnego)? Ten post edytował Demoneos 10.01.2012, 13:17:46 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
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. Ten post edytował mortus 10.01.2012, 13:50:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 08:40 |