Estoy haciendo una pagina web que tiene la portada y varias secciones (supongo que como todas ). Creo que se carga tan lenta debido a que se están realizando constantemente inserciones y eliminaciones en la base de datos. La portada hace un tipo de consulta con INNER JOIN con un tiempo de unos 7 segundos habiendo unas 20 consultas o mas.
He hecho un programa que corre en otra maquina que se encarga de seleccionar el contenido que se mostrará en la portada y las secciones. Este se ejecuta cada 6 horas mas o menos. Guarda el contenido en otra tabla (tabla_portada por ejemplo) y aqui es donde estan los indices de los articulos, a que seccion pertenecen, tipo de articulo, etc...
Se me han ocurrido varias opciones para solucionar esto. Aunque, me parecen algo chapuza.
1. Que el programa que genera la portada y las secciones cada 6 horas guarde el contenido de dichas paginas directamente en html y lo suba al servidor web, se elimina el archivo anterior y se renombra el archivo nuevo. De esta forma no tendría que hacer consultas a la base de datos, lo cual incrementería el rendimiento notablemente.
2. Que el programa que genera la portada y las secciones cada 6 horas guarde el contenido de dichas paginas directamente en html a la base de datos en un campo text.
3. Que el programa que genera la portada y las secciones cada 6 horas guarde el contenido en unas tablas nuevas, lo cual, evitaría que las originales estuvieran bloqueadas para reindexarse o lo que sea debido a las constantes inserciones y eliminaciones.
Como lo puedo hacer mejor? mas opciones?