Rendre l’ordre souhaité explicite
La base peut renvoyer les lignes selon son plan d’exécution ou leur disposition sur disque. Une même requête peut changer d’ordre après des écritures, changements d’index ou opérations de maintenance.
Pour la pagination, triez par un champ stable comme la date de création, puis par une clé unique. Un tri sur une valeur non unique peut déplacer les lignes ex æquo entre les pages et créer omissions ou doublons.
Stabiliser les limites de pagination
Gardez le même tri et les mêmes filtres pour chaque page. Si le jeu de données évolue pendant la lecture, préférez un curseur ou un instantané pris en charge plutôt qu’un simple décalage qui se déplace.
Testez les lignes ayant la même valeur de tri et les insertions entre les pages. Vérifiez que la séquence est assez déterministe pour l’application et que les limites s’appliquent après le tri voulu.