pub struct QueryOptimizer { /* private fields */ }Expand description
Query optimizer and analyzer
Implementations§
Source§impl QueryOptimizer
impl QueryOptimizer
Sourcepub fn with_settings(max_complexity: f64, target_execution_time: u64) -> Self
pub fn with_settings(max_complexity: f64, target_execution_time: u64) -> Self
Create optimizer with custom settings
Sourcepub fn analyze_plan(&self, plan: &QueryPlan) -> OrmResult<PlanAnalysis>
pub fn analyze_plan(&self, plan: &QueryPlan) -> OrmResult<PlanAnalysis>
Analyze a query plan and provide recommendations
Sourcepub fn optimize_plan(
&self,
plan: &mut QueryPlan,
) -> OrmResult<Vec<OptimizationStrategy>>
pub fn optimize_plan( &self, plan: &mut QueryPlan, ) -> OrmResult<Vec<OptimizationStrategy>>
Optimize a query plan using various strategies
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryOptimizer
impl RefUnwindSafe for QueryOptimizer
impl Send for QueryOptimizer
impl Sync for QueryOptimizer
impl Unpin for QueryOptimizer
impl UnwindSafe for QueryOptimizer
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more