La pagination est difficile; le modèle RDBMS n'est pas bien adapté à un grand nombre de requêtes de courte durée avec un défilement avec état. Comme vous l'avez noté, l'utilisation des ressources a tendance à être trop élevée.
Vous avez les options :
LIMIT
etOFFSET
- Utiliser un curseur
- Copier les résultats dans une table temporaire ou dans memcached ou similaire, puis les lire à partir de là
x > id
etLIMIT
Parmi ceux-ci, je préfère x > id
avec un LIMIT
. Rappelez-vous simplement la dernière pièce d'identité que vous avez vue et demandez la suivante. Si vous avez une séquence croissante monotone, ce sera simple, fiable et efficace pour les requêtes simples.