Review

Even though the development of sophisticated join processing techniques started in the early Eighties, there are still substantial improvements possible. The need for further investigating join processing techniques is a result from the ever larger growing database volumes (i.e., in data warehouse applications) that need to be processed.

Graefe, Bunker and Cooper describe the realization of hash joins and hash teams in the Microsoft SQL Server. This paper is particularly interesting for two reasons: First, it describes the implementation of hash joins with most of the performance tuning (role reversal and bitmap filters) and fault tolerance measures (dynamic destaging and bail out) in an industrial strength system. Second, the paper describes in detail the hash team idea and realization; a concept that Goetz Graefe sketched in a previous paper. Hash teams are the analogous concept to interesting orders in sort/merge-joins. Multiple joins which are on the same join attribute are teamed up -- thereby avoiding the need to re-partition the intermediate result. This is yet another mosaic in Goetz Graefe's insightful identificiation of the duality of sort-based and partition/hash-based query processing algorithms.


a service of Schloss Dagstuhl - Leibniz Center for Informatics