pub struct WorkloadLearner { /* private fields */ }Expand description
Workload learner - learns from query patterns to optimize future queries
Implementations§
Source§impl WorkloadLearner
impl WorkloadLearner
Sourcepub fn set_config(&self, config: WorkloadConfig)
pub fn set_config(&self, config: WorkloadConfig)
Update configuration
Sourcepub fn config(&self) -> WorkloadConfig
pub fn config(&self) -> WorkloadConfig
Get current configuration
Sourcepub fn classify_query(
&self,
has_pk_lookup: bool,
has_range_predicate: bool,
has_full_scan: bool,
has_aggregation: bool,
join_count: usize,
is_insert: bool,
is_update: bool,
) -> QueryPattern
pub fn classify_query( &self, has_pk_lookup: bool, has_range_predicate: bool, has_full_scan: bool, has_aggregation: bool, join_count: usize, is_insert: bool, is_update: bool, ) -> QueryPattern
Classify a query into a pattern based on its characteristics
Sourcepub fn record_query(
&self,
query_fingerprint: u64,
pattern: QueryPattern,
execution_time: Duration,
memory_bytes: u64,
rows_scanned: u64,
rows_returned: u64,
tables: Vec<String>,
filter_columns: Vec<String>,
sort_columns: Vec<String>,
)
pub fn record_query( &self, query_fingerprint: u64, pattern: QueryPattern, execution_time: Duration, memory_bytes: u64, rows_scanned: u64, rows_returned: u64, tables: Vec<String>, filter_columns: Vec<String>, sort_columns: Vec<String>, )
Record a query execution for learning
Sourcepub fn get_pattern(&self, fingerprint: u64) -> Option<QueryPattern>
pub fn get_pattern(&self, fingerprint: u64) -> Option<QueryPattern>
Get pattern for a known query fingerprint
Sourcepub fn get_pattern_stats(&self, pattern: QueryPattern) -> Option<PatternStats>
pub fn get_pattern_stats(&self, pattern: QueryPattern) -> Option<PatternStats>
Get statistics for a pattern
Sourcepub fn recommend_indexes(&self) -> Vec<IndexRecommendation>
pub fn recommend_indexes(&self) -> Vec<IndexRecommendation>
Generate index recommendations based on learned workload
Sourcepub fn detect_temporal_pattern(&self) -> TemporalPattern
pub fn detect_temporal_pattern(&self) -> TemporalPattern
Detect the temporal workload pattern
Sourcepub fn hot_tables(&self, limit: usize) -> Vec<(String, u64)>
pub fn hot_tables(&self, limit: usize) -> Vec<(String, u64)>
Get hot tables (most frequently accessed)
Sourcepub fn get_optimization_hints(&self) -> WorkloadHints
pub fn get_optimization_hints(&self) -> WorkloadHints
Get optimization hints based on learned workload
Sourcepub fn set_learning_enabled(&self, enabled: bool)
pub fn set_learning_enabled(&self, enabled: bool)
Enable or disable learning
Sourcepub fn total_queries(&self) -> u64
pub fn total_queries(&self) -> u64
Get total queries observed
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for WorkloadLearner
impl RefUnwindSafe for WorkloadLearner
impl Send for WorkloadLearner
impl Sync for WorkloadLearner
impl Unpin for WorkloadLearner
impl UnsafeUnpin for WorkloadLearner
impl UnwindSafe for WorkloadLearner
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