Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Jaki silnik baz danych?
Demoneos
post 10.01.2012, 11:48:40
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. 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)?

Ten post edytował Demoneos 10.01.2012, 13:17:46


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
prowseed
post 10.01.2012, 12:38:16
Post #2





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

Ten post edytował prowseed 10.01.2012, 12:38:31


--------------------
Go to the top of the page
+Quote Post
Demoneos
post 10.01.2012, 13:22:48
Post #3





Grupa: Zarejestrowani
Postów: 149
Pomógł: 0
Dołączył: 26.02.2008

Ostrzeżenie: (0%)
-----


Czyli warto chyba zmienić na InnoDB?


--------------------
Go to the top of the page
+Quote Post
mortus
post 10.01.2012, 13:43:55
Post #4





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
Go to the top of the page
+Quote Post
sunpietro
post 10.01.2012, 20:27:18
Post #5





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:47