pub struct CostBasedPathOptimizer { /* private fields */ }Expand description
Cost-based property path optimizer for selecting the best evaluation strategy
Implementations§
Source§impl CostBasedPathOptimizer
impl CostBasedPathOptimizer
Sourcepub fn with_config(config: PathOptimizationConfig) -> Self
pub fn with_config(config: PathOptimizationConfig) -> Self
Create with custom configuration
Sourcepub fn select_strategy(
&self,
path: &PropertyPath,
start: Option<&Term>,
end: Option<&Term>,
dataset_size: usize,
) -> StrategyCostEstimate
pub fn select_strategy( &self, path: &PropertyPath, start: Option<&Term>, end: Option<&Term>, dataset_size: usize, ) -> StrategyCostEstimate
Estimate cost and select best evaluation strategy
Sourcepub fn record_execution(
&self,
path: &PropertyPath,
actual_cardinality: u64,
actual_time_us: u64,
)
pub fn record_execution( &self, path: &PropertyPath, actual_cardinality: u64, actual_time_us: u64, )
Record actual execution results for adaptive learning
Sourcepub fn get_statistics(&self, path: &PropertyPath) -> Option<PathStatistics>
pub fn get_statistics(&self, path: &PropertyPath) -> Option<PathStatistics>
Get statistics for a path
Sourcepub fn clear_statistics(&self)
pub fn clear_statistics(&self)
Clear all statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CostBasedPathOptimizer
impl !RefUnwindSafe for CostBasedPathOptimizer
impl Send for CostBasedPathOptimizer
impl Sync for CostBasedPathOptimizer
impl Unpin for CostBasedPathOptimizer
impl UnsafeUnpin for CostBasedPathOptimizer
impl !UnwindSafe for CostBasedPathOptimizer
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.