Estoy interconectando una base de datos MySQL con PHP Data Objects (PDO) y ejecutando una extensa consulta SQL. Normalmente, tarda unos 1500 ms; Todavía necesito optimizarlo. Cuando ejecuto el script PHP dos veces con un breve intervalo intermedio, la consulta solo tarda unos 90 ms. La consulta es en ambos casos la misma. Cuando ejecuto el script, con la misma consulta, después de algún tiempo nuevamente, toma 1500 ms nuevamente.
¿Porqué es eso? ¿La base de datos se almacena en caché automáticamente? ¿Hay algún momento en que la base de datos guarda el caché y luego lo elimina automáticamente?
Supongo que PHP no puede almacenar en caché los resultados, porque esto sucede en dos hilos diferentes. No creo que PHP guarde en caché los resultados, porque no puede saber si la base de datos ha cambiado.
Tengo un script que se ejecuta cada minuto para insertar nuevas filas en la base de datos. Esta también podría ser la razón por la que tarda 1500 ms nuevamente después de un tiempo; la caché se habría eliminado, porque las tablas relevantes ya no son las mismas.