Para mi, la solución, es la que usa la mayoría, un sistema de cachés, es decir:
Si tu consulta SQL, genera por ejemplo una página de noticias, a priori, estática, generas ese HTML (dinamicamente, consultando los datos a SQL) y una vez generado lo guardas en disco con información de la fecha de generación. Luego la devuelves, como siempre.
La proxima vez que se solicite esa pagina o bien:
1.- Tienes implementado un tiempo de "expiración", tal que si la página es mas antigua de 30 min, o 5 días, o lo que quieras, se vuelve al paso anterior de generarla. En caso contrario la devuelves tal cual.
2.- Consultas en SQL si hay "cambios" desde la fecha de generación del archivo estático y de ser así lo regeneras de nuevo. En caso contrario la devuelves tal cual.
Esto, a modo "básico" es si decides hacerlo "a mano". Hoy en dia, la mayoría de los sistemas de templating decentes soportan cachés.