abt-universal-search
Version:
Enterprise-grade Universal Search System with cross-platform compatibility, performance optimization, and security hardening
102 lines • 2.98 kB
TypeScript
/**
* Query Optimizer - Database query analysis and optimization system
* @description Analyzes SQL queries, provides execution plan analysis, and suggests optimizations
*/
import { QueryOptimizationResult, QueryExecutionPlan, IQueryOptimizer } from '../types/Performance.js';
/**
* Query Optimizer Implementation
*/
export declare class QueryOptimizer implements IQueryOptimizer {
private parser;
private complexityAnalyzer;
private queryHistory;
constructor();
/**
* Analyze query execution plan
*/
analyzeQuery(query: string, schema?: Record<string, any>): QueryExecutionPlan;
/**
* Optimize query
*/
optimizeQuery(query: string, _schema?: Record<string, any>): QueryOptimizationResult;
/**
* Get indexing recommendations
*/
getIndexRecommendations(queries: string[]): Array<{
table: string;
columns: string[];
type: string;
impact: number;
}>;
/**
* Validate query performance
*/
validatePerformance(query: string, thresholds: Record<string, number>): {
valid: boolean;
issues: string[];
suggestions: string[];
};
/**
* Record query execution for learning
*/
recordQueryExecution(query: string, executionTime: number): void;
/**
* Get optimization statistics
*/
getOptimizationStats(): {
totalQueries: number;
averageComplexity: number;
commonPatterns: Array<{
pattern: string;
frequency: number;
}>;
topBottlenecks: Array<{
bottleneck: string;
frequency: number;
}>;
};
private generateExecutionPlan;
private analyzeExecutionPlan;
private generateIndexRecommendations;
private calculateEstimatedImprovement;
private calculateOptimizationConfidence;
}
/**
* Factory function for creating query optimizer instances
*/
export declare function createQueryOptimizer(): IQueryOptimizer;
/**
* Query performance analyzer utility
*/
export declare class QueryPerformanceAnalyzer {
private optimizer;
private performanceHistory;
constructor();
/**
* Analyze query performance trends
*/
analyzePerformanceTrends(query: string): {
trend: 'improving' | 'degrading' | 'stable';
averageTime: number;
variance: number;
samples: number;
};
/**
* Record query performance
*/
recordPerformance(query: string, executionTime: number): void;
/**
* Get performance recommendations
*/
getPerformanceRecommendations(query: string): Array<{
type: 'optimization' | 'monitoring' | 'alerting';
description: string;
priority: number;
}>;
}
/**
* Utility functions for query analysis
*/
export declare function normalizeQuery(query: string): string;
export declare function hashQuery(query: string): string;
//# sourceMappingURL=QueryOptimizer.d.ts.map