Eu estou tentando várias abordagens ao escrever a mesma consulta, mas o cache de consulta está interferindo com meus esforços.
Eu faço uma consulta uma vez e demora 3,5 segundos ou mais. Eu faço de novo e demora 0,015. Eu mudo o JOINs um pouco e ainda leva 0,015 segundos, tornando muito difícil para mim ver qual deles é mais rápido.
Eu tentei o seguinte sem sucesso:
RESET QUERY CACHE;
FLUSH TABLES;
ie. depois de fazer isso, minha consulta ainda leva 0,015 segundos.
Alguma ideia?
Respostas:
0 para resposta № 1A primeira etapa na otimização de consultas é verificarplano de execução. Na maioria dos casos, o plano mais barato, o melhor desempenho. Então você pode querer verificar as visualizações do sistema (que dependem do RDMS) para verificar problemas de simultaneidade, número de leituras / gravações físicas / lógicas, etc (geralmente faz sentido após alguns testes de carga).
A diferença no tempo de execução que você tem é devido ao armazenamento em cache - se você executar a mesma consulta consequentemente com intervalo muito curto, a consulta de segundo tempo não será realmente executada.