Il existe de nombreuses méthodes de requête de pagination, et je les rejoindrai ici.
Il existe un paramètre Set Rowcount dans SQL Server, ce qui signifie que le traitement de la commande arrête de traiter la commande après avoir répondu au nombre de lignes spécifié. Grâce à cette fonctionnalité, nous pouvons l'utiliser pour obtenir des performances élevées dans des dizaines de millions de lignes. table de données. Requêtes paginées de performances. Parlons d’abord de la méthode de mise en œuvre :
1. Supposons qu'il existe un ID de champ de clé primaire (type entier) dans la table qui a été indexé. Nous récupérerons les données pour la pagination en fonction de ce champ.
2. Nous mettons la taille de la page dans @PageSize
3. Nous mettons le numéro de la page actuelle dans @CurrentPage
4. Comment faire défiler rapidement le pointeur d'enregistrement jusqu'à la ligne au début des données que nous voulons récupérer. C'est la clé ! Avec Set RowCount, nous pouvons facilement l'implémenter.
5. Si nous réussissons à faire défiler le pointeur d'enregistrement jusqu'à la ligne au début des données que nous voulons récupérer, puis à enregistrer la valeur du champ ID de l'enregistrement dans cette ligne, alors, en utilisant Top et conditions, nous pouvons facilement obtenir la page de données spécifiée. Bien sûr, avec Set RowCount, utilisons-nous toujours Top ?
Voyons comment Set Rowcount peut nous aider :
Déclarez @ID int
Déclarez @MoveRecords int
--@CurrentPage et @PageSize sont les paramètres entrants
Définir @MoveRecords=@CurrentPage * @PageSize+1
--Les deux lignes suivantes permettent un défilement rapide jusqu'à la ligne de données que nous souhaitons récupérer et enregistrent l'ID
Définir le nombre de lignes @MoveRecords
Sélectionnez @ID=ID dans le tableau 1 Trier par ID
Définir le nombre de lignes @PageSize
--Je déteste utiliser * pour réduire les problèmes, mais pour faciliter l'explication, je vais l'utiliser temporairement.
Sélectionnez * Dans le tableau 1 où ID>=@ID Trier par ID
Définir le nombre de lignes 0
Vous pouvez l'essayer Dans un tableau avec 1 000 W d'enregistrements, vous pouvez rapidement tourner la page jusqu'à la page 100 (100 entrées par page) et voir à quelle vitesse c'est !
Source : BLOG Nanfeng
http://name-lh.cnblogs.com/archive/2006/03/08/346059.html