pub struct OptimizeProjections {}
Expand description
A rule for optimizing logical plans by removing unused columns/fields.
OptimizeProjections
is an optimizer rule that identifies and eliminates
columns from a logical plan that are not used by downstream operations.
This can improve query performance and reduce unnecessary data processing.
The rule analyzes the input logical plan, determines the necessary column indices, and then removes any unnecessary columns. It also removes any unnecessary projections from the plan tree.
Implementations§
Trait Implementations§
source§impl Default for OptimizeProjections
impl Default for OptimizeProjections
source§fn default() -> OptimizeProjections
fn default() -> OptimizeProjections
Returns the “default value” for a type. Read more
source§impl OptimizerRule for OptimizeProjections
impl OptimizerRule for OptimizeProjections
source§fn try_optimize(
&self,
plan: &LogicalPlan,
config: &dyn OptimizerConfig
) -> Result<Option<LogicalPlan>>
fn try_optimize( &self, plan: &LogicalPlan, config: &dyn OptimizerConfig ) -> Result<Option<LogicalPlan>>
Try and rewrite
plan
to an optimized form, returning None if the plan cannot be
optimized by this rule.source§fn apply_order(&self) -> Option<ApplyOrder>
fn apply_order(&self) -> Option<ApplyOrder>
How should the rule be applied by the optimizer? See comments on
ApplyOrder
for details. Read moreAuto Trait Implementations§
impl RefUnwindSafe for OptimizeProjections
impl Send for OptimizeProjections
impl Sync for OptimizeProjections
impl Unpin for OptimizeProjections
impl UnwindSafe for OptimizeProjections
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more