Bonjour,
J'aimerais savoir ce qui est mieux, utiliser un mysql_num_rows ou un count ?
Grosse différence de temps d'éxécution ?
Merci
Bonjour,
J'aimerais savoir ce qui est mieux, utiliser un mysql_num_rows ou un count ?
Grosse différence de temps d'éxécution ?
Merci
ça dépend, t'as besoin que du nombre de données, ou aussi les données ?
Ok compris
Count quand j'ai aps besoin des données et mysql_num_rows dans leur cas.
Mais la différence de temps est réellement différent ?
Bonjour,
Non, si tu n'as pas besoin des données c'estSinon, il vaut mieux mysql_num_rows() qui évite de remplir au préalable un tableau avec tes données pour ensuite faire un count()
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part SELECT COUNT(id) AS nbOfRec FROM t_table WHERE ...
C'est pour de la pagination ?
Si oui, il vaut mieux utiliser cela : SQL_CALC_FOUND_ROWS. Ça permet de récupérer :
- le nombre de ligne total de la table comme si la clause LIMIT n'était pas indiquée (voir doc).
- les données avec la contrainte LIMIT
Si ce n'est pas pour de la pagination, le count(*) est beaucoup plus rapide. Le moteur (MyISAM) va simplement utiliser les index sans parcourir toute la table comme pourrait le faire mysql_num_rows.
Donc le count(*) sans hésitation.
On m'a déconseillé l'utilisation de SQL_CALC_FOUND_ROWS car il semblerait qu'avec un site avec beaucoup de visiteurs, ca ne fonctionne pas correctement.
Partager