Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrageverarbeitung » Abfragen optimieren und ausführen » Algorithmen zur Abfrageausführung » Typen von Algorithmen » Join-Algorithmen

 

MergeJoin-Algorithmen (JM, JMFO, JMO)

MergeJoin liest zwei Eingaben, die beide nach den Join-Attributen sortiert sind. Für jede Zeile in der linken Eingabe liest der Algorithmus alle übereinstimmenden Zeilen der rechten Eingabe, indem er auf die Zeilen in sortierter Reihenfolge zugreift.

Wenn die Eingaben nicht bereits nach Join-Attributen sortiert sind (vielleicht aufgrund eines früheren Merge-Joins oder weil ein Index verwendet wurde, um die Suchbedingung zu erfüllen), dann fügt der Optimierer eine Sortierung hinzu, um eine korrekte Zeilenfolge herzustellen. Diese Sortierung erhöht die Kosten des Merge-Joins.

Ein Vorteil von MergeJoin im Vergleich zu HashJoin ist, dass sich die Kosten für die Sortierung über mehrere Joins amortisieren könne, vorausgesetzt die Merge-Joins verbinden dieselben Attribute. Der Optimierer gibt MergeJoin gegenüber HashJoin den Vorzug, wenn die Eingaben wahrscheinlich gleich groß sind bzw. wenn er die Kosten der Sortierung über mehrere Vorgänge ausgleichen kann.