Abordo todos vocês humildemente como alguém que NÃO é um DBA e tenho certeza de que minha pergunta está repleta de deficiências conceituais e "depende de" minas terrestres. Também tenho certeza de que todos vocês que decidirem responder vão querer muito mais detalhes do que posso fornecer atualmente.
Dito isso, estou curioso sobre o seguinte cenário em geral:
- Digamos que eu tenha duas consultas não triviais.
- A consulta 1 requer em média 2 minutos para ser concluída.
- A consulta 2 requer em média 5 minutos para ser concluída.
Se eu executá-los em série, um após o outro, espero que leve 7 minutos para ser concluído em média. Isso é razoável?
Mais do que isso, no entanto, e se eu executar as duas consultas simultaneamente? Duas conexões separadas ao mesmo tempo.
- Em que condições eu esperaria ver um aumento de velocidade? (Tempo total < 7 minutos)
- Em que condições eu esperaria ver uma desaceleração? (Tempo total > 7 minutos)
Agora, se eu tivesse 1.000 consultas não triviais em execução simultaneamente, tenho um palpite de que isso resultaria em uma desaceleração geral. Nesse caso, onde provavelmente estaria o gargalo? Processador? BATER? Dirige?
Mais uma vez, sei que provavelmente é impossível responder à pergunta com precisão sem conhecer os detalhes (o que não tenho). Estou procurando algumas diretrizes gerais para pensar ao fazer as seguintes perguntas:
- Em que circunstâncias as consultas simultâneas resultam em uma aceleração geral?
- Em que circunstâncias as consultas simultâneas resultam em uma desaceleração geral?