1- Det är en no brainer, använd typ I
2- Typ II-anslutningen kallas också 'implicit join', medan typ I kallas 'explicit join'. Med modern DBMS kommer du inte ha några prestandaproblem med normal fråga. Men jag tror att med en stor komplex fleranslutningsfråga kan DBMS ha problem med den implicita sammanfogningen. Att endast använda explicit join kan förbättra din förklaraplan, så resultatet blir snabbare!
3- Så prestanda kan vara ett problem, men kanske viktigast är att läsbarheten förbättras för ytterligare underhåll. Explicit join förklara exakt vad du vill gå med i vilket fält, medan implicit join inte visas om du gör en join eller ett filter. Where-satsen är för filter, inte för join !
Och en stor poäng för explicit sammanfogning:yttre sammanfogning är verkligen irriterande med implicit sammanfogning. Det är så svårt att läsa när du vill ha multipel sammanfogning med yttre sammanfogning att explicit sammanfogning är lösningen.
4- Exekutionsplan är vad du behöver (Se dokumentet )
Några dubbletter :
Explicit vs implicit SQL-joins
SQL join:where clause vs on clause
INNER JOIN ON vs WHERE-klausul