The Community for Technology Leaders
RSS Icon
Issue No.10 - Oct. (2012 vol.24)
pp: 1803-1818
Pit Fender , Mannheim University, Germany
Guido Moerkotte , 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
Pit Fender, Guido Moerkotte, "Reassessing Top-Down Join Enumeration", IEEE Transactions on Knowledge & Data Engineering, vol.24, no. 10, pp. 1803-1818, Oct. 2012, doi:10.1109/TKDE.2011.235
[1] Y.E. Ioannidis and Y.C. Kang, "Left-Deep versus Bushy Trees: An Analysis of Strategy Spaces and Its Implications for Query Optimization," ACM SIGMOD Record, vol. 20, no. 2, pp. 168-177, 1991.
[2] K. Ono and G.M. Lohman, "Measuring the Complexity of Join Enumeration in Query Optimization," Proc. 16th Int'l Conf. Very Large Databases (VLDB), pp. 314-325, 1990.
[3] G. Moerkotte and T. Neumann, "Analysis of Two Existing and One New Dynamic Programming Algorithm for the Generation of Optimal Bushy Join Trees without Cross Products," Proc. 32nd Int'l Conf. Very Large Databases (VLDB), pp. 930-941, 2006.
[4] D. DeHaan and F.W. Tompa, "Optimal Top-Down Join Enumeration," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD), pp. 1098-1109, 2007.
[5] P. Fender and G. Moerkotte, "A New, Highly Efficient, and Easy to Implement Top-Down Join Enumeration Algorithm," Proc. IEEE 27th Int'l Conf. Data Eng. (ICDE), 2011.
[6] L.M. Haas, M.J. Carey, M. Livny, and A. Shukla, "Seeking the Truth About Ad Hoc Join Costs," Very Large Database J., vol. 6, pp. 241-256, 1997.
[7] S. Baase and A.V. Gelder, Computer Algorithms: Introduction to Design and Analysis. Addison-Wesley, 1999.
[8] B. Vance and D. Maier, "Rapid Bushy Join-Order Optimization with Cartesian Products," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD '96), pp. 35-46, 1996.
[9] D. DeHaan and F.W. Tompa, "Optimal Top-Down Join Enumeration (Extended Version)," technical report, Univ. of Waterloo, 2007.
[10] A.V. Aho, J.E. Hopcroft, and J.D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
105 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool