Expand description
§DataFusion Optimizer
Contains rules for rewriting LogicalPlans
-
AnalyzerappliesAnalyzerRules to transformLogicalPlans to make the plan valid prior to the rest of the DataFusion optimization process (for example,TypeCoercion). -
OptimizerappliesOptimizerRules to transformLogicalPlans into equivalent, but more efficient plans.
Re-exports§
pub use analyzer::Analyzer;pub use analyzer::AnalyzerRule;pub use optimizer::Optimizer;pub use optimizer::OptimizerConfig;pub use optimizer::OptimizerContext;pub use optimizer::OptimizerRule;pub use utils::optimize_children;Deprecated
Modules§
AnalyzerandAnalyzerRuleCommonSubexprEliminateto avoid redundant computation of common sub-expressionsPullUpCorrelatedExprconverts correlated subqueries toJoinsEliminateDuplicatedExprRemoves redundant expressionsEliminateGroupByConstantremoves constant expressions fromGROUP BYclauseEliminateLimiteliminatesLIMITwhen possibleEliminateOneUnioneliminates single elementUnionExtractEquijoinPredicateidentifies equality join (equijoin) predicatesFilterNullJoinKeysadds filters to join inputs when input isn’t nullableOptimizeProjectionsidentifies and eliminates unused columnsPropagateEmptyRelationeliminates nodes fed byEmptyRelationPushDownFilterapplies filters as early as possiblePushDownLimitpushesLIMITearlier in the query planScalarSubqueryToJoinrewriting scalar subquery filters toJOINsSimplifyExpressionssimplifies expressions in the logical plan,ExprSimplifiersimplifies individualExprs.- Utility functions leveraged by the query optimizer rules