pub struct QueryOptimizer { /* private fields */ }Expand description
Query optimizer for analyzing and improving database queries
Implementations§
Source§impl QueryOptimizer
impl QueryOptimizer
pub fn new(db_pool: Arc<PgPool>) -> Self
Sourcepub async fn analyze_query(&self, query: &str) -> Result<QueryAnalysis>
pub async fn analyze_query(&self, query: &str) -> Result<QueryAnalysis>
Analyze query performance using EXPLAIN ANALYZE
Sourcepub async fn get_index_recommendations(
&self,
) -> Result<Vec<IndexRecommendation>>
pub async fn get_index_recommendations( &self, ) -> Result<Vec<IndexRecommendation>>
Get index recommendations for the database
Sourcepub async fn optimize_connection_pool(
&self,
) -> Result<ConnectionPoolRecommendation>
pub async fn optimize_connection_pool( &self, ) -> Result<ConnectionPoolRecommendation>
Optimize connection pool settings
Sourcepub async fn run_full_analysis(&self) -> Result<FullOptimizationReport>
pub async fn run_full_analysis(&self) -> Result<FullOptimizationReport>
Run all optimization analyses
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