It is a strategy that avoids the production of duplicates by short-cutting execution as soon as the first genuine match is found.
So FirstMatch(phonenumbers)
means that as soon as we have produced one matching record combination, it will short-cut the execution and jump back to the phonenumbers
table.
From FirstMatch strategy
- The FirstMatch strategy works by executing the subquery and short-cutting its execution as soon as the first match is found.
- This means, subquery tables must be after all of the parent select's tables that are referred from the subquery predicate.
- EXPLAIN shows FirstMatch as "FirstMatch(tableN)".
- The strategy can handle correlated subqueries.
- But it cannot be applied if the subquery has meaningful GROUP BY and/or aggregate functions.
- Use of the FirstMatch strategy is controlled with the firstmatch=on|off flag in the optimizer_switch variable.