Why client-side joins are not slow