Maison > base de données > tutoriel mysql > Comment obtenir efficacement le nombre total de lignes dans la pagination MySQL avec OFFSET et LIMIT ?

Comment obtenir efficacement le nombre total de lignes dans la pagination MySQL avec OFFSET et LIMIT ?

DDD
Libérer: 2024-11-23 21:16:15
original
836 Les gens l'ont consulté

How to Efficiently Get Total Row Count in MySQL Pagination with OFFSET and LIMIT?

Recherche des résultats totaux dans les requêtes MySQL pour la pagination avec décalage et limite

Dans les scénarios de pagination, déterminer le nombre total de résultats est crucial pour obtenir des résultats précis calculs de pages. L'utilisation du décalage et de la limite pour récupérer des données peut entraîner des problèmes d'efficacité de calcul lors de la tentative de calcul du nombre total à partir d'une requête distincte.

Pour résoudre ce problème, MySQL propose une solution avec SQL_CALC_FOUND_ROWS. En ajoutant cette directive à une requête, la base de données calcule le nombre total de lignes correspondantes sans réellement les récupérer :

SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE category_id = 1 LIMIT 10 OFFSET 20;
Copier après la connexion

Après avoir exécuté cette requête, la base de données calcule le nombre total de lignes en utilisant une autre requête interne comme :

SELECT FOUND_ROWS();
Copier après la connexion

Cette technique fournit une méthode efficace et précise pour obtenir le nombre total de résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal