If we have an index on S that is on the field we are joining on, it can be very fast to look up matches of ri in S. for each record ri in R:for each record sj in S where θ(ri,sj)==true:yield <ri,sj> COST = [R]+∣R∣×(cost to look up matching records in S)