mm bueno .. si generas tu "topsite" una vez al dia o cosas así .. ya pierde su grácia todo el "dinamismo" y "datos en tiempo real" que ofrece una Base de datos y las consultas que le puedas hacer ..
Pero .. si tu consideras que para tu sistema es mucha carga eso .. pues hazlo como pretendes pero "avisa" que esos "top's" se generan a tal hora ..
Cita: La segunda pregunta va relacionada también con esto, hay alguna manera de "automatizar" la ejecución de scripts PHP a una hora determinada si tener que hacerlo manualmente.
Si, según el S.O. que uses .. con un "Cron Job" (linux) o un "Programador de Tareas" en Windows. Eso son programas externos a PHP (son própios del S.O.) .. tu tan sólo configuras "qué" programa (en tu caso tu script PHP en modo "CLI" a ejecutar) y a que intervalos de tiempos .. Si usas un servicio de hosting con opcíon a usar "Cron Job" avisa por qué es bien sencillo hacerlo así ..
Un saludo,