Sim, tirar uma média de múltiplas execuções (Óbvio, com todas as execuções 
sendo do MESMO EXATO SQL, com os MESMOS EXATOS valores de filtros e argumentos, 
na mesma exata máquina e sempre com a mesma carga de trabalho) é uma estratégia 
Muito Boa ....
 Evidentemente, observo que :

 a) o que vc vai obter é uma *** MÉDIA ***, é uma NOÇÃO, é uma ** ESTIMATIVA 
RAZOÁVEL ** do que deve ser o tempo de execução : logicamente, fatores como 
cargas de trabalho diferentes, volumes de dados diferentes, hardwares 
diferentes (principalmente em termos de capacidade de IOPS), consumo de CPU, 
locks, etc, podem levar a distorções SIGNIFICATIVAS entre a sua estimativa e a 
realidade do usuário final... Ofereça esses números pelo que SÃO, ie, uma 
Estimativa de melhor cenário, que PODE ou NÃO se concretizar

 b) vc provavelmente vai ter uma ** tendência ** clara a superestimar a 
eficiência de caches, pois ao executar o mesmo SQL com os mesmos filtros/etc vc 
vai quase que com 100% de certeza usando sempre e sempre os mesmos blocos : 
como os caches do SGBD (tanto o cache de dados quanto o cache de SQLs) se 
baseiam em Popularidade (ie, os blocos e/ou os SQLs mais frequentemente usados 
permanecem em cache, os menos usados são automaticamente Removidos), o fato de 
vc executar o mesmo SQL repetidamente meio que INDUZ ao uso do cache, o que não 
é sempre a realidade do usuário final - normalmente ele executa um SQL, depois 
outro, e outro....

[]s

  Chiappa

Responder a