Simplicity Done Right for Join Ordering
Abstract
In this paper, we propose a simple, yet fast and effective approach to determine good join orders for arbitrary selectproject-join queries. Our scheme comprises three building blocks: (i) a simple upper bound for arbitrary multi-joins, (ii) appropriate join enumeration according to the upper bound, and (iii) sampling as query execution to provide fast and near-exact estimates for complex conjunctive filters. As we are going to show, using the Join-Order-Benchmark (JOB), our simple approach provides better join orderings with significantly less optimization overhead, resulting in a substantially faster response time for all 113 JOB queries compared to state-of-the-art and recent approaches.