Ich wurde darauf aufmerksam gemacht, dass das USING
Konstrukt (anstelle von ON
) in der FROM
Klausel von SELECT
Abfragen in bestimmten Fällen Optimierungsbarrieren einführen kann.
Ich meine dieses Schlüsselwort:
WÄHLEN * Von einem JOIN b USING (a_id)
Nur in komplexeren Fällen.
Kontext: dieser Kommentar zu dieser Frage .
Ich benutze dies oft und habe bisher noch nichts bemerkt. Ich wäre sehr an einem Testfall interessiert , der den Effekt demonstriert, oder an Links zu weiteren Informationen. Meine Suchanstrengungen blieben leer.
Die perfekte Antwort wäre ein Testfall USING (a_id)
mit schlechterer Leistung im Vergleich zur alternativen Join-Klausel ON a.a_id = b.a_id
- ob dies tatsächlich passieren kann.
id
als Spaltenname nicht fördern wollen .
USING
geht etwas schneller, da es in der Ergebnismatrix eine Spalte weniger gibt. Ihre Ergebnisse stammen aus den Jahren 2005 und 2008. Ich gehe davon aus, dass alle Probleme inzwischen behoben wurden. Allerdings kann ich eine mögliche Einschränkung sehen: Verknüpft mitUSING
muß möglicherweise werden angewandt , um , wie die resultierenden Joinspalte ein gemeinsames Produkt ist. Dadurch werden die Optionen bei der Neuordnung von JOINs möglicherweise eingeschränkt.