Comments - optimizer_switch

6 years, 6 months ago João Costa

What does condition_pushdown_for_derived do, andn am I right in assuming that condition_pushdown_for_derived only has an effect when derived_merge=on ?

Thanks

 
4 months, 2 weeks ago Sergei Petrunia

No. derived_merge controls merging of derived tables. If a derived table is merged, it optimized together with its parent SELECT. However in some cases the optimizer cannot merge the derived table. This happens when derived table's top level operation is not a join: it is a GROUP BY, ORDER BY ... LIMIT, just LIMIT n, or window function computation. In that case, the optimizer will attempt to push a part of parent select's WHERE into the derived table. This is controlled by condition_pushdown_for_derived flag. I see that condition pushdown into derived tables is not documented. I will document it.

 
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.