Comment déterminer le nombre de lignes renvoyées par une requête MySQL
Dans le domaine des requêtes MySQL, il est souvent nécessaire de vérifier le nombre de lignes générées par une requête spécifique. Ce décompte fournit des informations précieuses sur la taille et le contenu de l’ensemble de résultats. Explorons différentes méthodes pour y parvenir.
Comptage itératif de lignes
L'approche simple consiste à parcourir les lignes de résultats et à incrémenter un compteur, mais cette méthode peut s'avérer inefficace. pour les grands ensembles de données.
Fonction mysql_num_rows()
Pour ceux qui travaillent avec la bibliothèque client MySQL, la fonction mysql_num_rows() fournit un moyen direct de récupérer le nombre de lignes dans un ensemble de résultats. Son équivalent en PHP est mysqli_num_rows().
Fonction COUNT(*)
Pour compter le nombre de lignes correspondant à des critères spécifiques, utilisez la fonction COUNT(*) dans une requête. Par exemple :
<code class="sql">SELECT COUNT(*) FROM foo WHERE bar= 'value';</code>
SQL_CALC_FOUND_ROWS et FOUND_ROWS()
Pour déterminer le nombre total de lignes dans une requête qui utilise une clause LIMIT, utilisez SQL_CALC_FOUND_ROWS dans la requête initiale suivie par SELECT FOUND_ROWS() :
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
Considérations supplémentaires
Lorsque vous traitez des tables volumineuses, l'utilisation de SQL_CALC_FOUND_ROWS peut être inefficace. Dans de tels cas, envisagez d'exécuter une requête de comptage distincte et de mettre en cache le résultat pour référence future.
Dépréciation de SQL_CALC_FOUND_ROWS
À partir de la version MySQL 8.0.17, la fonction SQL_CALC_FOUND_ROWS est obsolète et sera supprimé dans les versions futures. L'approche recommandée consiste à émettre une requête distincte pour calculer le nombre de lignes.
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!