public class ASTStaticJoinOptimizer extends Object implements IASTOptimizer
DefaultEvaluationPlan2
. This optimizer uses range counts and simple
shared variable heuristics to order the statement patterns within a particular
join group. This optimizer extends the old static optimizer in that child
join groups consider the ordering of statement patterns in their parent and
ancestors when deciding how their own order.
We want to optimize all JoinGroupNode
s recursively, from the top down.
This is because the join group needs to take into account its ancestral join
ordering when deciding its own join ordering. A statement pattern with a
shared variable with the ancestral groups should be preferred over one with
no shared variables.
Modifier and Type | Class and Description |
---|---|
static interface |
ASTStaticJoinOptimizer.Annotations |
Modifier and Type | Field and Description |
---|---|
static org.apache.log4j.Logger |
log |
Constructor and Description |
---|
ASTStaticJoinOptimizer() |
Modifier and Type | Method and Description |
---|---|
QueryNodeWithBindingSet |
optimize(AST2BOpContext context,
QueryNodeWithBindingSet input)
Optimize the AST.
|
public QueryNodeWithBindingSet optimize(AST2BOpContext context, QueryNodeWithBindingSet input)
IASTOptimizer
optimize
in interface IASTOptimizer
context
- The evaluation context.input
- The input to the optimizer, consisting of a queryNode and
input binding set.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.