Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual deles é uma consulta grande única mais rápida ou poucas consultas pequenas?


Cada "ida e volta" ao banco de dados terá alguma sobrecarga. Portanto, quanto menos viagens de ida e volta, menos sobrecarga. Considere também que menos solicitações significa menos pacotes do cliente para o servidor. Se o resultado da consulta consolidada fornecer exatamente o que você deseja, a consulta única é o caminho a seguir. Se sua única consulta estiver retornando dados extras ou redundantes (talvez devido à desnormalização), as economias de sobrecarga de uma única viagem de ida e volta podem ser perdidas nos dados extras transferidos.

Outra consideração é a latência. Se as consultas tiverem que ser concluídas em sequência porque alguma parte da saída de uma é necessária na entrada da próxima, a consolidação em uma consulta cortará todas as latências de rede entre todas as consultas menores individuais, de modo que um resultado final pode ser entregue mais rápido. No entanto, se as consultas menores forem independentes umas das outras, lançá-las em paralelo pode fazer com que todos os resultados sejam entregues mais rapidamente, embora com menos eficiência.

Resumindo:a resposta depende das especificidades da sua situação. A melhor maneira de obter uma resposta provavelmente será implementar nos dois sentidos, testar e comparar o uso de recursos de cada implementação.