Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> InnoDB i MyISAM - JOIN
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Cześć.

Mam parę tabel w bazie, gdzie używam InnoDB oraz tabele "uzytkownicy" jako MyISAM - teraz chciałbym się zapytać jeśli chodzi o relacje (LEFT JOIN/INNER JOIN) tych dwóch typów tabel;

- Czy podczas łączenia InnoDB z MyISAM może dojść do jakiś przeszkód (?) i przez to czas zapytania wydłuży się?
Krótko mówiąc chodzi mi tutaj o optymalizacje.

Kod
Przykład:

| news_id | news_title | news_autor | news_tresc | // InnoDB
| user_id | username | user_password | user_email | // MyISAM

> select n.*, u.* from newsy as n left join uzytkownicy as u on(u.user_id=n.news_autor);


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie powinno być jakiś większych problemów... nasuwa się jedynie pytanie - dlaczego tabela użytkowników to MyISAM, który przy pokazanej strukturze bazy jest prawdopodobnie gorszym rozwiązaniem?
Go to the top of the page
+Quote Post
#luq
post
Post #3





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


@Crozin możesz powiedzieć dlaczego w tym wypadku MyISAM jest gorszy (prawdopodobnie)?
Ja tak samo robię. Kiedy tabela gdzieś jest użyta w transakcji -> InnoDB, inaczej -> MyISAM. InnoDB jest przecież wolniejsze od maszyny MyISAM
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


InnoDB to nie tylko transakcje. Nie chce mi się w tej chwili przytaczać argumentów za/przeciw jednemu i drugiemu. Oba mają kilka zalet względem drugiego - w sieci jest pełno porównań. Z reguły to co oferuje InnoDB jest ważniejsze niż niewielka przewaga MyISAM przy odczycie danych (szczególnie na względnie niewielkich tabelach, gdzie ta różnica jest praktycznie nieodczuwalna).
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Polecam zapoznać się z pełną tabelą możliwości myisam i innodb i dopiero potem porównywać. Czy innodb jest wolniejsze? Zależy w jakich przypadkach i konkretnych zastosowaniach.

Co do odpowiedzi na pytanie autora, nie powinno być żadnych problemów

Ten post edytował wookieb 8.07.2010, 12:12:19
Go to the top of the page
+Quote Post
wujek2009
post
Post #6





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


OK dzięki Panowie za odpowiedź, temat można zamknąć.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 8.10.2025 - 20:59