Encyclopedia of Database Systems

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

Join Index

  • Theodore JohnsonEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_892


A join index is a collection of pairs {(r, s)} such that the record in table R with record ID (RID) r joins with the record in table S with RID s, according to the join predicate which defines the index.

Key Points

The purpose of a join index is to accelerate common joins, even equijoins. One of the advantages of join indices is that they can be represented in a very compact way, allowing for highly efficient access. For example, suppose that the DBMS is to evaluate a query, “Select R.a from R,S where R.a = S.b.” A conventional join would use a nested loop algorithm, with an indexed scan in the inner loop. With a join index, the join can be computed by scanning the join index, thus minimizing random I/O.

There are a variety of ways of implementing a join index. One can list pairs (clustered on R or clustered on S), or in the case of an equijoin, associate R and S RIDs with attribute values. The example below shows the join index for R.a = S.b, organized as a list of pairs.
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Li Z, Ross KA. Fast joins using join indices. VLDB J. 1999;8(1):1–24.CrossRefGoogle Scholar
  2. 2.
    Valduriez P. Join indices. ACM Trans Database Syst. 1987;12(2):218–46.CrossRefGoogle Scholar

Copyright information

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

Authors and Affiliations

  1. 1.AT&T Labs – ResearchFlorham ParkUSA

Section editors and affiliations

  • Torben Bach Pedersen
    • 1
  • Stefano Rizzi
    • 2
  1. 1.Department of Computer ScienceAalborg UniversityAalborgDenmark
  2. 2.DISIUniv. of BolognaBolognaItaly