Hola,
Como dice
Shiryu_Libra (Buen dia

) puedes hacerlo "escupiendo" (flush) resultados a medida que se van generando. Es una buena manera de visualizar las páginas que sean muy espesas y permites al usuario ir viendo algo de lo que solicita (no hay nada mas exhasperante que una página en blanco). Tambien te podría ayudar realizar llamadas asincronas a páginas que devuelvan resultados usando
AJAX. Esta tecnologia es muy interesante para casos asi donde la página debe hacer muchas llamadas contra la BD.
Un saludo