¿Alguien me puede dar una idea relativa de cuándo tiene más sentido golpear la base de datos muchas veces para obtener resultados de consultas pequeños frente al almacenamiento en caché de un gran número de filas y consultas?¿Cuándo es el tamaño de la llamada a la base de datos más caro que la frecuencia de las llamadas?
Por ejemplo, si tengo una consulta que devuelve 2.000 resultados. Y luego tengo consultas adicionales sobre esos resultados que toman tal vez 10-20 elementos, ¿sería mejor guardar en caché los resultados de 2000 o acceder a la base de datos cada vez para cada conjunto de 10 o 20 resultados?
Supongo que depende de si la base de datos está en la misma máquina o en otra máquina. De una manera, debe contentarse con la lentitud de la comunicación entre procesos. A la inversa, debes lidiar con una red. La relación de velocidad es probablemente del orden de uno a miles o de uno a millones. – yfeldblum