Bom dia, Tenho algumas dúvidas em relação ao modo como o Posgtres realiza a estimativa do tempo que consultas levarão para serem realizadas. São elas:
- Até onde eu sei o modo de se fazer isso é com o EXPLAIN ANALYZE. Rodando este comando a query é literalmente executada para me dar o tempo de execução? Pergunto pois se eu acredito que a execução vai ser longa, eu não quero ficar esperando todo esse tempo (ex: horas) para ter essa confirmação. Caso seja mesmo executada, há um modo obter uma estimativa de modo mais rápido? - A estimativa para uma consulta é proporcional para várias consultas? Ex: Um select leva 1 segundo para ser executado. Mil select's (o mesmo anterior) levarão 1000 segundos? O mesmo serve para Insert, Update e Delete? Se não for, há um modo de fazer uma estimativa para uma transação com várias instruções? - Quando se alteram parâmetros o tempo de execução das consultas muda. Há um modo de simular a mudança de parâmetros e obter o efeito que cada mudança surtirá, ou o único jeito é rodar novamente o EXPLAIN ANALYZE após cada mudança? Pergunto o mesmo para recursos físicos (ex: simular se determinada consulta teria um desempenho melhor caso fosse adicionado mais memória RAM à máquina). - Se eu realizar um benchmark em diversas máquinas, posso inferir que a diferença de performance será a mesma para todo tipo de consulta? Ex: máquina 1 obteve performance X, e máquina 2 performance Y, que é duas vezes melhor que X. Considerando que eu tenha o mesmo banco de dados nas duas máquinas, com mesmas configurações, sempre terei uma performance duas vezes melhor na máquina 2 em relação a máquina 1? Essas eram as dúvidas que lembro que acumulei. Me desculpem se são muito amadoras ou se não ficaram claras, tentei explicar do melhor modo possível. Agradeço todo tipo de resposta. Abraços.
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
