Citat:
Ursprungligen postat av Spelkontroll
Okej.
Men när jag då använder den, ska jag använda INNER JOIN eller ska jag bara skriva ut JOIN? Eller det kanske inte blir någon skillnad?
Sedan undrar jag också ifall det är dumt att använda för många JOINS i samma fråga och att det kanske är bättre att köra flera mindre frågor än att köra flera JOINS?
Normalt sett brukar åtminstånde jag vilja ha databasen att ge mej den efterfrågade datan utan att "hamra" den med flera småfrågor. Bättre isf att joina ihop de tabeller man behöver i en lång SQL än att köra fler småfrågor.
Dessutom sitter det ju för det mesta en query optimizer i databasen som troligen är bättre på att analysera frågor och göra saker i rätt ordning än vad du är. Med andra ord, skriv EN fråga som plockar fram den data du behöver ist för att hacka upp den i ett flertal delfrågor.
Det finns mej veterligen inte någon speciell övre gräns för hur många joins en fråga kan innehålla, det handlar snarare i så fall om hur pass komplex och normaliserad databasens struktur är.
Jag har nu när jag tänker efter varit med om EN gång då jag manuellt behövt ingripa och ändra JOIN-ordningen i en SQL-fråga, men den gången handlade det om en hårt belastad databasserver och en riktigt stor SQL-fråga, samt vissa begränsningar som satt i databasmotorn som gjorde att det inte funkade optimalt. Under normala laster och frå´gefrekvens bör varkken antalet JOINs eller ordnigen på dessa ha någon menlig inverkan på databasens prestanda.