Para junções internas, uma única consulta faz sentido, já que você obtém apenas linhas correspondentes. Para junções à esquerda, várias consultas são muito melhores ... veja o seguinte benchmark que fiz:
-
Consulta única com 5 junções
consulta:8,074508 segundos
tamanho do resultado:2268000
-
5 consultas seguidas
tempo de consulta combinado:0,00262 segundos
tamanho do resultado:165 (6 + 50 + 7 + 12 + 90)
.
Observe que obtemos os mesmos resultados em ambos os casos (6 x 50 x 7 x 12 x 90 =2268000)
junções à esquerda usam exponencialmente mais memória com dados redundantes.
O limite de memória pode não ser tão ruim se você fizer apenas uma junção de duas tabelas, mas geralmente três ou mais e vale a pena fazer consultas diferentes.
Como uma nota lateral, meu servidor MySQL está bem ao lado do meu servidor de aplicativos... então o tempo de conexão é insignificante. Se o seu tempo de conexão estiver em segundos, talvez haja um benefício
Franco