De Left join lijkt sneller te zijn omdat SQL wordt gedwongen eerst de kleinere select uit te voeren en vervolgens samen te voegen met deze kleinere set records. Om de een of andere reden wil de optimizer dit niet van nature doen.
3 manieren om de samenvoegingen in de juiste volgorde te forceren:
- Selecteer de eerste subset van gegevens in een tijdelijke tabel (of tabelvariabele) en voeg er vervolgens aan toe
- Gebruik left joins (en onthoud dat dit andere gegevens kan opleveren omdat het een left join is en geen inner join)
- gebruik het trefwoord FORCE ORDER. Houd er rekening mee dat als tabelgroottes of schema's veranderen, het queryplan mogelijk niet correct is (zie https://dba.stackexchange.com/questions/45388/forcing-join-order )