Ähnlich wie NestedLoopsJoin verknüpft NestedLoopsSemijoin seine Eingaben, indem er die rechte Seite nach jeder Zeile der linken Seite durchsucht. Wie bei NestedLoopsJoin wird die rechte Seite wahrscheinlich häufiger gelesen. Bei größeren Eingaben sollte man daher besser einen Index-Scan verwenden.
NestedLoopsSemijoin unterscheidet sich von NestedLoopsJoin in zwei Punkten. Erstens gibt NestedLoopsSemijoin nur Werte der linken Seite aus. Die rechte Seite grenzt nur ein, welche Werte der linken Seite im Ergebnis erscheinen. Zweitens stoppt NestedLoopsSemijoin jede Suche der rechten Seite, sobald die erste Übereinstimmung gefunden wurde. NestedLoopsSemijoin kann verwendet werden, wenn die Join-Eingaben Tabellenausdrücke einer existenziell-quantifizierten (IN, SOME, ANY, EXISTS) verschachtelten Abfrage enthalten, die als Join umgeschrieben wurde.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |