MCP GitHub Issue Server

/** * Query optimizer exports */ import { SqliteQueryBuilder } from '../builder/sqlite-query-builder.js'; export { SqliteOptimizer } from './sqlite-optimizer.js'; export interface QueryPlan { steps: QueryStep[]; estimatedRows: number; usedIndexes: string[]; cost: number; } export interface QueryStep { type: 'scan' | 'index' | 'join' | 'filter'; table: string; cost: number; details: Record<string, any>; } export interface IndexSuggestion { table: string; columns: string[]; reason: string; estimatedImprovement: number; } export interface QueryOptimizer { analyze(query: SqliteQueryBuilder): Promise<QueryPlan>; suggestIndexes(query: SqliteQueryBuilder): Promise<IndexSuggestion[]>; rewrite(query: SqliteQueryBuilder): Promise<SqliteQueryBuilder>; }