Class QueryOptimizer
java.lang.Object
com.loomcache.server.query.QueryOptimizer
Query optimizer for the SQL query engine.
Applies various optimization rules to query plans and maintains a plan cache.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classColumn pruning optimization: only loads columns needed by SELECT, WHERE, and ORDER BY.static final classConstant folding optimization: evaluates constant expressions at compile time.static final recordCost estimate for a query plan.static final classIndex selection optimization: chooses the best index for WHERE clause predicates.static final classLimit push-down optimization: pushes LIMIT closer to the scan when possible.static interfaceSealed interface for optimization rules.static final classOptimized query plan with metadata.static final classPredicate push-down optimization: moves predicates closer to the data source.static final classCost estimator for query execution.static final classLRU cache for parsed and optimized query plans.static final recordTable statistics for cost estimation. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCache()optimize(QueryPlan plan, @Nullable QueryOptimizer.TableStatistics stats, Map<String, MapIndex<?, ?>> availableIndexes) Optimizes a query plan.static @Nullable ObjectpartitionKeyFor(Predicate predicate) Finds an explicit partition-routing key embedded in a predicate tree.
-
Constructor Details
-
QueryOptimizer
public QueryOptimizer() -
QueryOptimizer
public QueryOptimizer(int cacheSize)
-
-
Method Details
-
partitionKeyFor
-
optimize
public QueryOptimizer.OptimizedQueryPlan optimize(QueryPlan plan, @Nullable QueryOptimizer.TableStatistics stats, Map<String, MapIndex<?, ?>> availableIndexes) Optimizes a query plan. -
getCache
-