public class GreedyHeuristicJoinOrderAlgorithm extends Object implements JoinOrderAlgorithm
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_SELECTION_FACTOR |
| Constructor and Description |
|---|
GreedyHeuristicJoinOrderAlgorithm() |
| Modifier and Type | Method and Description |
|---|---|
FoundJoinOrder |
findBestOrder(LogicalPlan plan,
LogicalPlan.QueryBlock block,
JoinGraph joinGraph,
Set<String> relationsWithoutQual) |
static double |
getCost(JoinEdge joinEdge)
Getting a cost of one join
|
static double |
getCost(LogicalNode node) |
public FoundJoinOrder findBestOrder(LogicalPlan plan, LogicalPlan.QueryBlock block, JoinGraph joinGraph, Set<String> relationsWithoutQual) throws PlanningException
findBestOrder in interface JoinOrderAlgorithmjoinGraph - A join graph represents join conditions and their connections among relations.
Given a graph, each vertex represents a relation, and each edge contains a join condition.
A join graph does not contain relations that do not have any corresponding join condition.relationsWithoutQual - The names of relations that do not have any corresponding join condition.PlanningExceptionpublic static double getCost(JoinEdge joinEdge)
joinEdge - public static double getCost(LogicalNode node)
Copyright © 2015 Apache Software Foundation. All Rights Reserved.