Why do we even need to solve this problem? Questioning with ‘why’ always helps ensure we are aligned with higher level goals. A lot of time problems can be solved without building something.
On crappy public wifi, the amount of sockets it uses means it’s the first thing to lose a connection.
Huge gains only when the join predicate matches 100+ rows, otherwise performance will be more or less the same in both the cases.