For indre joinforbindelser giver en enkelt forespørgsel mening, da du kun får matchende rækker. For venstre joinforbindelse er flere forespørgsler meget bedre... se på følgende benchmark, jeg lavede:
-
Enkelt forespørgsel med 5 Joins
forespørgsel:8,074508 sekunder
resultatstørrelse:2268000
-
5 forespørgsler i træk
kombineret forespørgselstid:0,00262 sekunder
resultatstørrelse:165 (6 + 50 + 7 + 12 + 90)
.
Bemærk, at vi får de samme resultater i begge tilfælde (6 x 50 x 7 x 12 x 90 =2268000)
left joins bruger eksponentielt mere hukommelse med redundante data.
Hukommelsesgrænsen er måske ikke så slem, hvis du kun laver en joinforbindelse af to tabeller, men generelt tre eller flere, og det bliver forskellige forespørgsler værd.
Som en sidebemærkning er min MySQL-server lige ved siden af min applikationsserver... så forbindelsestiden er ubetydelig. Hvis din forbindelsestid er i sekunder, så er der måske en fordel
Frank