Por empezar, sería interesante saber para qué necesitas recuperar más de medio millón de registros. Francamente si no es para hacer algún tipo de cálculo, no veo que te sirva para otra cosa.
Nadie se pondría a leer un listado de registros de 8200 páginas, ¿o si?
En cuanto a la consulta en si, si el tema es lo que tarda en obtenerse el resultado, sería buena idea revisarla para ver si es optimizable, o si se puede encarar alguna estrategia para mejorar la performance.
Ese tema es más especifico de Base de Datos, por lo que sería mejor que eso lo tratases en ese foro (
http://www.forosdelweb.com/f86/).
No postees allá el PHP, porque no es tema de ese foro, pero postea allá el SQL que usas para poder ver lo que se puede lograr.