Maison > base de données > tutoriel mysql > le corps du texte

SELECT COUNT() vs mysql_num_rows() : quel est le meilleur pour les grandes tables ?

Mary-Kate Olsen
Libérer: 2024-11-04 07:26:02
original
465 Les gens l'ont consulté

SELECT COUNT() vs mysql_num_rows(): Which is Better for Large Tables?

SELECT COUNT() vs mysql_num_rows() avec de grandes tables

Dans la gestion de bases de données, l'optimisation des performances est cruciale lorsque l'on travaille avec de grandes tables. Lorsqu'il s'agit de compter les lignes, SELECT COUNT() et mysql_num_rows() sont deux méthodes couramment utilisées.

SELECT COUNT()

SELECT COUNT() est un décompte -requête uniquement qui renvoie le nombre de lignes correspondant à une condition spécifiée. Lorsqu'il est utilisé avec de grandes tables, cela peut être beaucoup plus rapide que de récupérer l'intégralité du jeu de résultats et de le compter vous-même à l'aide de mysql_num_rows().

mysql_num_rows()

mysql_num_rows() est une fonction qui renvoie le nombre de lignes dans un jeu de résultats. Cependant, l'utilisation de cette fonction implique de récupérer l'ensemble des résultats de la base de données, ce qui peut être gourmand en ressources et lent avec des tables volumineuses.

Solution pour la pagination des résultats de recherche

Dans votre scénario, où vous disposez d'une grande table et devez paginer les résultats de recherche, il est préférable d'utiliser SELECT COUNT() au lieu de mysql_num_rows().

Comment SELECT COUNT() optimise les performances

  • Consommation de mémoire réduite : SELECT COUNT() alloue uniquement de la mémoire pour stocker le résultat du décompte, minimisant ainsi la surcharge de mémoire.
  • Traitement optimisé : Le serveur traite la requête différemment, évitant ainsi la tâche coûteuse de récupération et de transfert de l'ensemble des résultats.

Exemple de code utilisant SELECT COUNT() pour la pagination

<code class="php">$condition = " fname='rinchik' ";
$rowCount = "SELECT COUNT(id) FROM my_large_table WHERE" . $condition;
$result = "SELECT * FROM my_large_table WHERE" . $condition . " LIMIT " . ($page - 1) * $pageSize . ", " . $pageSize;</code>
Copier après la connexion

En utilisant SELECT COUNT() pour obtenir le nombre de lignes séparément, vous pouvez optimiser les performances de votre mécanisme de pagination.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal