Mysql_num_rows ou select count

[Résolu]
Signaler
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007
-
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007
-
bonjour,

voilà je m'apercois que des 2 commandes PHP fournissent le meme resultat, j'aimerais savoir laquelle est la plus efficace (rapidité et nb de requete):


premiere:
$query_7 = "select count(id) as nb_argent from Proverbe where categorie='argent'";
$result_7 = mysql_query($query_7) or die("La requête "$query_7" n'a pas pu s'exécuter !");
$val_7 = mysql_fetch_array($result_7);
$argent = $val_7["nb_argent"];
echo $argent;

deuxieme :
$query_7 = "select id from Proverbe where categorie='argent'";
$result_7 = mysql_query($query_7) or die("La requête "$query_7" n'a pas pu s'exécuter !");
$c_argent = mysql_num_rows($result_7);
echo $c_argent;

Le but etant simplement de compter le nombre de ligne correspondant à la categorie argent et de l'afficher
où peut-être existe-t'il plus simple ?

si quelqu'un peux m'aider...merci

3 réponses

Messages postés
58
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
12 décembre 2006

Moi je dirais la première, ta requête est plus précise, donc certainement plus rapide et plus précise.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

la première étant donné qu'elle ne renvoie qu'une valeur, au contraire de la deuxième qui va renvoyer de MySQL à PHP tous les id en question, mais tu peux faire des benchs via MYSQL et la commande BENCHMARK :-)

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

Merci pour vos réponses, en effet le count(*) ne renvoi qu'une valeur, je ne connais pas la commande BENCHMARK, mais j'ai fait un EXPLAIN et il m'a sortie le nombre de ligne lu...


merci

"La vie, c'est pour la vie..."
http://proverbe.intoxmatique.com