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 :
LIMITetOFFSET- Utiliser un curseur
- Copier les résultats dans une table temporaire ou dans memcached ou similaire, puis les lire à partir de là
x > idetLIMIT
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.