Many commercial relational data base systems provide two join methods: 1) Nested Loop join and 2) Sort Merge join. Nested Loop join exploits indexes on the inner table's join column. Sort Merge join benefits from the efficiency of bulk sequential disk accesses. Both provide good performance when selected correctly by the query optimizer, but could prove prohibitively expensive if selected incorrectly. We describe a new method called Hybrid join. We first sort the outer table on the join column. Then, the outer is joined with the index on the join column of the inner. The inner tuple is represented by its surrogate, equivalent of its physical disk address, which is carried in the index. The partial join result is sorted on the surrogate and then the inner table is accessed sequentially to complete the join result. Local predicate filtering can also be applied before the access of the inner relation through index AND/ORing. We also present efficient methods for skip sequential access and prefetching of logically discontiguous leaf pages of B+-tree indexes.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.