Skip to main content

Module join_order

Module join_order 

Source
Expand description

DPccp (Dynamic Programming with connected complement pairs) join ordering.

This module implements the DPccp algorithm for finding optimal join orderings. The algorithm works by:

  1. Building a join graph from the query
  2. Enumerating all connected subgraphs
  3. Finding optimal plans for each subgraph using dynamic programming

Reference: Moerkotte, G., & Neumann, T. (2006). Analysis of Two Existing and One New Dynamic Programming Algorithm for the Generation of Optimal Bushy Join Trees without Cross Products.

Structsยง

BitSet
A bitset for efficient subset representation.
DPccp
DPccp join ordering optimizer.
JoinEdge
An edge in the join graph representing a join condition.
JoinGraph
The join graph representing all relations and join conditions in a query.
JoinGraphBuilder
Extracts a join graph from a query pattern.
JoinNode
A node in the join graph.
JoinPlan
Represents a (partial) join plan.
SubsetIterator
Iterator over all subsets of a bitset.