Semi Join
Ein Semi-Join liefert die Zeilen der äußeren Tabelle, die eine Entsprechung in der inneren Tabelle haben, ohne Spalten der inneren Tabelle zurückzugeben; er wird zur Optimierung von EXISTS-Unterabfragen verwendet.
Zweck
EXISTS/IN-Unterabfragen optimieren und unnötige Datenübertragungen sowie Joins vermeiden.
Mechanismus
Es wird nur geprüft, ob eine äußere Zeile eine innere Entsprechung hat; wenn ja, wird die äußere Zeile ausgegeben (ohne innere Daten). Implementierung: Die innere Join-Spalte wird dedupliziert, dann wird die äußere Tabelle abgesucht. Es entstehen weniger Ausgaben und Zwischenergebnisse als bei einem gewöhnlichen Join.
Anwendungsfälle
- Unterabfrage-Optimierung
- EXISTS-Optimierung
- Join-Optimierung