Most join algorithms can be extended to reduce wasted work when several tuples contain the same value of the join attribute. We show that separating detection of duplicates from their exploitation improves modularity and makes it easier to implement whole families ofhierarchy-exploitingjoin algorithms that avoid duplication. The technique is also used to provide an execution technique for star-like patterns of joins around a central relation. It appears to dominate Ingreslike substitution for the central relation, in both performance and ease of including in a conventional optimizer. Its performance dominates a cascade of conventional binary joins, and performance estimates are more accurateShow more