Encyclopedia of Database Systems

2009 Edition

Join Order

  • Jingren Zhou
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-39940-9_871



A database query typically contains multiple joins. When joins (for example, inner joins) are commutative and/or associative, there can more than one evaluation order for joins. The join order has an enormous impact on the query cost. One of the main responsibilities of the query optimizer is to determine the optimal join order for query evaluation.

Key Points

Choosing a good join order is very important to achieve a good query performance. One important consideration for choosing an join order is to reduce the size of intermediate results as much as possible. For example, it is beneficial to first evaluate a join that returns the least result. Other considerations include join methods, data properties, and access methods, etc.

Depending on the choice of join orders, query plans can be of different shapes.
  • Left-Deep query plans use a base table as the inner table for each join.

  • Right-Deepquery plans use a base table as the outer table...

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

Recommended Reading

  1. 1.
    Mishra P. and Eich M.H. Join processing in relational databases. ACM Comput. Surv., 24(1):63–113, 1992.CrossRefGoogle Scholar
  2. 2.
    Selinger P.G., Astrahan M.M., Chamberlin D.D., Lorie R.A., and Price T.G. Access path selection in a Relational Database Management System. In Proc. ACM SIGMOD Int. Conf. on Management of Data, 1979, pp. 23–34.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Jingren Zhou
    • 1
  1. 1.Microsoft ResearchRedmondUSA