1- Det er en no brainer, brug Type I
2- Type II join kaldes også 'implicit join', hvorimod type I kaldes 'explicit join'. Med moderne DBMS vil du ikke have nogen ydeevneproblemer med normal forespørgsel. Men jeg tror, at med en eller anden stor kompleks multi join-forespørgsel, kan DBMS have problemer med den implicitte joinforbindelse. Kun at bruge eksplicit join kunne forbedre din forklaringsplan, så resultatet bliver hurtigere!
3- Så ydeevne kan være et problem, men vigtigst af alt er læsbarheden forbedret for yderligere vedligeholdelse. Eksplicit joinforklaring forklar præcis, hvad du vil deltage i på hvilket felt, hvorimod implicit join ikke vises, hvis du laver en join eller et filter. Where-sætningen er til filter, ikke til join !
Og en stor pointe for eksplicit join:outer join er virkelig irriterende med implicit join. Det er så svært at læse, når du vil have multiple join med ydre join, at eksplicit join er løsningen.
4- Udførelsesplan er, hvad du har brug for (Se dokumentet )
Nogle dubletter :
Eksplicitte vs implicitte SQL-joins
SQL join:where clause vs. on clause
INNER JOIN ON vs WHERE-klausul