Le mieux c'est d'utiliser la clause LIMIT (cf la doc de MySql) pour ne récupérer qu'un ensemble limités d'enregistrement.
Si l'on prend l'exemple d'une table Personne avec les champs ID, Nom, Prenom qui contient un nombre N d'enregistrement pour afficher les 20 premiers enregistrement triés dans l'ordre alphabétique il suffit de faire :
SELECT ID, Nom, Prenom
FROM Personne
ORDER BY Nom, Prenom
LIMIT 0, 20;
Pour afficher les 20 suivants la requêtes devient :
SELECT ID, Nom, Prenom
FROM Personne
ORDER BY Nom, Prenom
LIMIT 20, 40;
Le truc simple à faire est de passer en paramètres les deux valeurs de la clause LIMIT et tu pourras ainsi avancer ou reculer dans la consultation de ta table.