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.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |