pub struct OptimizationCache { /* private fields */ }Expand description
Intelligent query optimization cache
Implementations§
Source§impl OptimizationCache
impl OptimizationCache
Sourcepub fn new(config: OptimizationCacheConfig) -> Self
pub fn new(config: OptimizationCacheConfig) -> Self
Create a new optimization cache
Sourcepub async fn get_plan(
&self,
fingerprint: &QueryFingerprint,
) -> Option<CachedPlan>
pub async fn get_plan( &self, fingerprint: &QueryFingerprint, ) -> Option<CachedPlan>
Look up a cached plan for a query
Sourcepub async fn cache_plan(
&self,
fingerprint: QueryFingerprint,
plan: ExecutionPlan,
)
pub async fn cache_plan( &self, fingerprint: QueryFingerprint, plan: ExecutionPlan, )
Cache an execution plan
Sourcepub async fn update_performance(
&self,
fingerprint: &QueryFingerprint,
execution_time: Duration,
success: bool,
)
pub async fn update_performance( &self, fingerprint: &QueryFingerprint, execution_time: Duration, success: bool, )
Update performance metrics for a cached plan
Sourcepub async fn get_statistics(&self) -> CacheStatistics
pub async fn get_statistics(&self) -> CacheStatistics
Get cache statistics
Sourcepub async fn warm_cache(&self) -> Result<()>
pub async fn warm_cache(&self) -> Result<()>
Warm the cache with commonly used query patterns
Sourcepub async fn analyze_effectiveness(&self) -> Result<CacheAnalysis>
pub async fn analyze_effectiveness(&self) -> Result<CacheAnalysis>
Analyze cache effectiveness and provide recommendations
Sourcepub async fn cleanup_expired(&self) -> Result<usize>
pub async fn cleanup_expired(&self) -> Result<usize>
Clean expired entries from the cache
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OptimizationCache
impl !RefUnwindSafe for OptimizationCache
impl Send for OptimizationCache
impl Sync for OptimizationCache
impl Unpin for OptimizationCache
impl !UnwindSafe for OptimizationCache
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.