Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Query Optimization (in Relational Databases)

  • Thomas NeumannEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_293


Query compilation


Database queries are given in declarative languages, typically SQL. The goal of query optimization is to choose the best execution strategy for a given query under the given resource constraints. While the query specifies the user intent (i.e., the desired output), it does not specify how the output should be produced. This allows for optimization decisions, and for many queries there is a wide range of possible execution strategies, which can differ greatly in their resulting performance. This renders query optimization an important step during query processing.

Historical Background

One of the first papers to discuss query optimization in relational database systems was the seminal System R paper [2]. It introduced a dynamic programming algorithm for optimizing the join order, and coined the concept of interesting orders for exploiting available orderings. Later approaches increased the set of optimized operators, and included a rule based...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Chaudhuri S. An overview of query optimization in relational systems. In: Proceedings of the 17th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems; 1998. p. 34–43.Google Scholar
  2. 2.
    Garcia-Molina H., Ullman J.D., and Widom J. Database system implementation. Prentice-Hall; 2000.Google Scholar
  3. 3.
    Graefe G. The cascades framework for query optimization. Q Bull IEEE TC Data Engineering. 1995;18(3):19–29.Google Scholar
  4. 4.
    Graefe G, McKenna WJ. The volcano optimizer generator: extensibility and efficient search. In: Proceedings of the 9th International Conference on Data Engineering; 1993. p. 209–218.Google Scholar
  5. 5.
    Haas LM, Freytag JC, Lohman GM, Pirahesh H. Extensible query processing in starburst. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1989. p. 377–88.Google Scholar
  6. 6.
    Moerkotte G. Building query compilers, available at http://db.informatik.uni-mannheim.de/moerkotte.html.en. 2006.
  7. 7.
    Muralikrishna M. Improved unnesting algorithms for join aggregate SQL Queries. In: Proceedings of the 18th International Conference on Very Large Data Bases; 1992. p. 91–102.Google Scholar
  8. 8.
    Rao J, Lindsay BG, Lohman GM, Pirahesh H, Simmen DE. Using EELS, a practical approach to outerjoin and antijoin reordering. In: Proceedings of the 17th International Conference on Data Engineering; 2001.p. 585–94.Google Scholar
  9. 9.
    Selinger PG, Astrahan MM, Chamberlin DD, Lorie RA, Price TG Access path selection in a relational database management System. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1979. p. 23–34.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Max-Planck Institute for InformaticsSaarbrückenGermany

Section editors and affiliations

  • Evaggelia Pitoura
    • 1
  1. 1.Dept. of Computer ScienceUniv. of IoanninaIoanninaGreece