![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 9 Dołączył: 20.09.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam takie pytanie o rozbudowanych zapytaniach SQL. Szczerze mówiąc nie widziałem za wiele zapytań kogoś innego więc chciałbym spytać się was. Zrobiłem sobie relacyjną bazę danych z kilkoma tabelami(nie będę się tu rozpisywał na ich temat). Mam taki kod SQL:
Żeby wyciągnąć wyniki które mnie interesują, muszę użyć takiego zapytania. Czy tak wiele join`ów może być w jednym zapytaniu czy istnieje jakaś inna metoda aby tego ominąć (IMG:style_emoticons/default/questionmark.gif) Gdy wykonuję to zapytanie to czas osiąga: 0.0011 sekundy więc mało ale gdy będę miał więcej danych to na pewno będzie osiągał dużo więcej tylko czy z tymi join`ami nie będzie rosło wykładniczo. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
relacyjne bazy danych mają to że dobrze pracują z relacjami.
przy prawidłowo zbudowanej bazie danych nie ma się co bać łączenia nawet wielu tabel. kwestią osobną jest prawidłowe pisanie zapytań. na początek powinieneś wybierać tabele które maksymalnie ograniczają ilość wierszy (czyli to co masz w sekcji where) poza tym zerknij na to:
tu masz skopane łączenie z tą tabelą.. nie wskazujesz żadnego pola do tej tabeli... tak naprawdę zrób explain na zapytaniu. prawidłowe będzie korzystało przy każdym połączeniu z odpowiednich kluczy, poczytaj sobie jak rozumiec wynik explain - to naprawde pomaga j. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:23 |