Issue No. 10 - Oct. (2012 vol. 24)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TKDE.2011.235
Guido Moerkotte , Mannheim University, Germany
Pit Fender , Mannheim University, Germany
Finding an optimal execution order of join operations is a crucial task in every cost-based query optimizer. Since there are many possible join trees for a given query, the overhead of the join (tree) enumeration algorithm per valid join tree should be minimal. In the case of a clique-shaped query graph, the best known top-down algorithm has a complexity of \Theta (n^2) per join tree, where n is the number of relations. In this paper, we present an algorithm that has an according O(1) complexity in this case. We show experimentally that this more theoretical result has indeed a high impact on the performance in other nonclique settings. This is especially true for cyclic query graphs. Further, we evaluate the performance of our new algorithm and compare it with the best top-down and bottom-up algorithms described in the literature.
Partitioning algorithms, Complexity theory, Buildings, Data structures, Heuristic algorithms, Dynamic programming, Cost function, minimal cut., Query optimization, join ordering, top-down join enumeration, memoization, graph partitioning
Guido Moerkotte, Pit Fender, "Reassessing Top-Down Join Enumeration", IEEE Transactions on Knowledge & Data Engineering, vol. 24, no. , pp. 1803-1818, Oct. 2012, doi:10.1109/TKDE.2011.235