1- Es ist ein Kinderspiel, verwenden Sie den Typ I
2- Der Join vom Typ II wird auch als "impliziter Join" bezeichnet, während der Typ I als "expliziter Join" bezeichnet wird. Mit modernen DBMS haben Sie bei normalen Abfragen keine Leistungsprobleme. Aber ich denke, bei einer großen komplexen Multi-Join-Abfrage könnte das DBMS Probleme mit dem impliziten Join haben. Nur die Verwendung von explizitem Join könnte Ihren Explain-Plan verbessern, also ein schnelleres Ergebnis !
3- Die Leistung könnte also ein Problem sein, aber am wichtigsten ist vielleicht die Verbesserung der Lesbarkeit für die weitere Wartung. Die explizite Verknüpfung erklärt genau, was Sie in welchem Feld verknüpfen möchten, während die implizite Verknüpfung nicht anzeigt, ob Sie eine Verknüpfung oder einen Filter erstellen. Die Where-Klausel ist für filter, nicht für join !
Und ein großer Punkt für explizite Joins:Outer Joins sind bei impliziten Joins wirklich nervig. Es ist so schwer zu lesen, wenn Sie mehrere Verknüpfungen mit äußerer Verknüpfung wünschen, dass explizite Verknüpfungen DIE Lösung sind.
4- Ausführungsplan ist das, was Sie brauchen (Siehe das Dokument )
Einige Duplikate :
Explizite vs. implizite SQL-Joins
SQL-Join:where-Klausel vs. on-Klausel
INNER JOIN ON vs. WHERE-Klausel