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
