Puedes restringir los resultados de la base de datos con LIMIT.
Creo haber entendido que sacas los datos de la base de datos, pues en vez de sacarlos todos, sacas solamente unos 100 ó 300, los que creas convenientes. Digamos que sacas 100.
Pues cuando haga todas las operaciones, puedes poner un link debajo que pase una variable por GET con la cantidad de registros ya completados, o por el número de bloque que va.
Es decir, si lo haces por números de registros el link, pues que apunte hacia pagina.php?registros=100 (luego en la consulta le dices que continúe por éste registro, por el 100+1) y si lo haces por bloque, que el link apunte a pagina.php?bloque=1 (calculas 1*numero de registros por ejecución, en éste caso es 1*100=100, y le sumas 1 para que no vuelva a hacer el registro 100).
Creo que me expliqué bastante mal.