Try OpenEdge Now
skip to main content
SQL Development
Optimizing Query Performance : Understanding optimization : Optimizer phases : Choosing the join algorithm
 
Choosing the join algorithm
Once the join order has been established, each join node is analyzed to select from among the following algorithms:
*Augmented nested loop (ANL) join
*Merge join
*Nested loop join
The optimizer generates, when possible, candidates for each algorithm. For each join node, candidates are generated by:
*Checking whether the algorithm's requirements are satisfied. For example, the ANL join needs an index on one of the join columns.
*Assuming the algorithm is usable, when multiple predicates reference the two tables being joined, choosing a predicate (or set of predicates) with the lowest cost.
Once a set of candidates exists, the optimizer selects the least costly candidate.