Door
johan de wit
op 10-12-2015 02:43
gewijzigd op 10-12-2015 02:45
1.461 views
Ik gebruik LEFT JOIN om data van meerder tabellen te roepen, dus vroeg mij af dat jullie het wel goed vinden en of betere methodes zijn om geen snelheid kwijt te raken.
Ik gebruik LEFT JOIN om data van meerder tabellen te roepen, dus vroeg mij af dat jullie het wel goed vinden en of betere methodes zijn om geen snelheid kwijt te raken.
Nogal een erg algemene vraag als je het mij vraagt.
Welke data heb je op welke manier opgeslagen en wat wil je er van aan elkaar koppelen?
Het is inderdaad nogal een algemene vraag, maar het algemene antwoord daarop is dan: een INNER JOIN is sneller dan een outer join (een LEFT JOIN of RIGHT JOIN). Een LEFT JOIN moet namelijk ook resultaten geven als er geen records in andere tabellen worden gevonden en daarvoor vervolgens een NULL produceren, wat tijd kost. Een LEFT JOIN produceert daarnaast meer data dan een INNER JOIN, wat eveneens tijd en geheugen kost.
Daarmee is het vooral een theoretische vergelijking, want je krijgt gewoon andere data terug. En niet de performance maar de benodigde data bepalen wat de juiste JOIN is. Het gebruiken van geschikte kandidaatsleutels en indexen is veel belangrijker voor performance.