A Simple Algorithm for Worst-Case Optimal Join and Sampling
Florent Capelli, Oliver Irwin, Sylvain Salvati
TL;DR
This work advances join query evaluation by presenting a remarkably simple branch-and-bound algorithm that achieves worst-case optimality for classes defined by cardinality or acyclic degree constraints. A bitwise (bin arisation) domain-branching trick eliminates the domain-size blowup, enabling a clean WCOJ analysis without heavy data structures. The paper also extends the approach to uniform sampling of query answers using a Rosenbaum-style leaf-sampling framework underpinned by Friedgut-type inequalities, achieving sampling guarantees that match prior results in a more modular and elementary way. Collectively, the results unify and simplify the understanding of worst-case optimal join and sampling strategies, offering an accessible yet rigorous path to practical implementations and analysis.
Abstract
We present an elementary branch and bound algorithm with a simple analysis of why it achieves worstcase optimality for join queries on classes of databases defined respectively by cardinality or acyclic degree constraints. We then show that if one is given a reasonable way for recursively estimating upper bounds on the number of answers of the join queries, our algorithm can be turned into algorithm for uniformly sampling answers with expected running time $O(UP/OUT)$ where $UP$ is the upper bound, $OUT$ is the actual number of answers and $O(\cdot)$ ignores polylogarithmic factors. Our approach recovers recent results on worstcase optimal join algorithm and sampling in a modular, clean and elementary way.
