Controls the Multi-Range Read strategy. 

Controls use of cost-based MRR if mrr=on . 

For more information, see Section 8.2.1.11, “Multi-Range Read Optimization” . 

Controls the semijoin Duplicate Weedout strategy. 

Controls the semijoin FirstMatch strategy. 

Controls the semijoin LooseScan strategy (not to be confused with Loose Index Scan for GROUP BY ). 

Controls all semijoin strategies. 

In MySQL 8.0.17 and later, this also applies to the antijoin optimization. 

The semijoin , firstmatch , loosescan , and duplicateweedout  flags enable control over semijoin strategies. The semijoin  flag controls whether semijoins are used. If it is set to on , the firstmatch  and loosescan  flags enable finer control over the permitted semijoin strategies. 

If the duplicateweedout  semijoin strategy is disabled, it is not used unless all other applicable strategies are also disabled. 

If semijoin  and materialization  are both on , semijoins also use materialization where applicable. These flags are on  by default. 

For more information, see Section 8.2.2.1, “Optimizing IN and EXISTS Subquery Predicates with Semijoin Transformations” . 

Controls use of Skip Scan access method. 

For more information, see Skip Scan Range Access Method. 

Controls materialization (including semijoin materialization). 

