Abstract
The execution time of queries can vary by several orders of magnitude depending on the join order. Hence, an efficient query execution can be ensured by determining optimal join orders. Dynamic programming determines optimal join orders efficiently. Unfortunately, the runtime of dynamic programming depends on the characteristics of the query, limiting the applicability to simple optimization problems. To extend the applicability, different parallelization strategies were proposed. Although existing parallelization strategies showed benefits for complex cost functions, the effects of the cost-function complexity was not evaluated.
Therefore, in this paper, we compare different sequential and parallel dynamic programming variants with respect to different query characteristics and cost-function complexities. We show that the parallelization of a parallel dynamic programming variant is most often only useful for complex cost functions. For simple cost functions, we show that most often sequential variants are superior to their parallel counterparts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Fong, Z.: The design and implementation of the POSTGRES query optimizer. Technical report, University of California, Berkeley, August 1986
Han, W.S., Kwak, W., Lee, J., Lohman, G.M., Markl, V.: Parallelizing query optimization. PVLDB 1(1), 188–200 (2008)
Han, W.S., Lee, J.: Dependency-aware reordering for parallelizing query optimization in multi-core CPUs. In: SIGMOD, pp. 45–58. ACM (2009)
Leis, V., Gubichev, A., Mirchev, A., Boncz, P., Kemper, A., Neumann, T.: How good are query optimizers, really? PVLDB 9(3), 204–215 (2015)
Moerkotte, G., Fender, P., Eich, M.: On the correct and complete enumeration of the core search space. In: SIGMOD, pp. 493–504. ACM (2013)
Moerkotte, G., Neumann, T.: Analysis of two existing and one new dynamic programming algorithm for the generation of optimal bushy join trees without cross products. In: VLDB, pp. 930–941. VLDB Endowment (2006)
Moerkotte, G., Scheufele, W.: Constructing optimal bushy processing trees for join queries is NP-hard. Technical report Informatik-11/1996 (1996)
Neumann, T.: Engineering high-performance database engines. PVLDB 7(13), 1734–1741 (2014)
Selinger, P.G., Astrahan, M.M., Chamberlin, D.D., Lorie, R.A., Price, T.G.: Access path selection in a relational database management system. In: SIGMOD, pp. 23–34. ACM (1979)
Steinbrunn, M., Moerkotte, G., Kemper, A.: Heuristic and randomized optimization for the join ordering problem. VLDB J. 6(3), 191–208 (1997)
Vance, B., Maier, D.: Rapid bushy join-order optimization with cartesian products. In: SIGMOD, pp. 35–46. ACM (1996)
Acknowledgments
This work was partially funded by the DFG (grant no.: SA 465/50-1).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Meister, A., Saake, G. (2017). Cost-Function Complexity Matters: When Does Parallel Dynamic Programming Pay Off for Join-Order Optimization. In: Kirikova, M., Nørvåg, K., Papadopoulos, G. (eds) Advances in Databases and Information Systems. ADBIS 2017. Lecture Notes in Computer Science(), vol 10509. Springer, Cham. https://doi.org/10.1007/978-3-319-66917-5_20
Download citation
DOI: https://doi.org/10.1007/978-3-319-66917-5_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-66916-8
Online ISBN: 978-3-319-66917-5
eBook Packages: Computer ScienceComputer Science (R0)