@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
73 lines • 1.83 kB
TypeScript
/**
* QueryOptimizer - Intelligent query optimization for analytics
*
* Optimizations:
* - Index usage analysis
* - Query rewriting for better performance
* - Join order optimization
* - Predicate pushdown
* - Unnecessary column elimination
* - Query plan caching
*/
import { Database } from 'better-sqlite3';
import { HybridQuery, EnhancedQueryIntent } from './types.js';
interface OptimizationResult {
optimizedQuery: HybridQuery;
optimizations: OptimizationDetail[];
estimatedCost: number;
useCache: boolean;
}
interface OptimizationDetail {
type: 'index' | 'rewrite' | 'join_order' | 'pushdown' | 'column_elimination' | 'cache';
description: string;
impact: 'high' | 'medium' | 'low';
}
export declare class QueryOptimizer {
private db;
private indexCache;
private statsCache;
private queryPlanCache;
constructor(database: Database);
/**
* Optimize a hybrid query
*/
optimize(query: HybridQuery, intent?: EnhancedQueryIntent): OptimizationResult;
/**
* Load index information from database
*/
private loadIndexInfo;
/**
* Load table statistics
*/
private loadTableStats;
/**
* Analyze query execution plan
*/
private analyzeQueryPlan;
/**
* Check if query is eligible for caching
*/
private checkCacheEligibility;
/**
* Optimize column selection
*/
private optimizeColumnSelection;
/**
* Optimize filters using indexes
*/
private optimizeFilters;
/**
* Optimize join order based on table sizes
*/
private optimizeJoins;
/**
* Add query hints for better execution
*/
private addQueryHints;
/**
* Clear all caches
*/
clearCache(): void;
}
export {};
//# sourceMappingURL=QueryOptimizer.d.ts.map