FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 2015
-
11 oct. 2005 à 15:23
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
11 oct. 2005 à 19:42
Voila, à force de faire tout et n'importe quoi (en ce moment j'ai de
l'imagination), je voulais savoir si les pros du bench pouvaient
m'aider un tit peu.
Voila, tout le monde sait comment récupérer le nombre d'enregistrement
d'une requète SQL via COUNT() : (j'ajoute une vérification pour savoir
si le nombre est égal à 0 pour ceux qui ne comprennent pas/mal
l'opérateur ternaire)
<?php
$sql = "SELECT COUNT(*) FROM ma_base";
$query = mysql_query($sql);
$data = mysql_fetch_row($query);
return ( $data[0] == 0 ) ? true : false;
?>
Ca c'est la méthode classique, conseillée par tout le monde. Mais je
viens de trouver un autre moyen pour trouver le même résultat :
Sauf que, je me demande si c'est pas plus lent d'utiliser cette methode
plutôt que celle du dessus. Quelqu'un pourrait me bencher ca sur
quelques itérations histoire de voir ce que ca donne ? (ou qui a déja
eu une idée similiaire et qui a abandonné ?)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 11 oct. 2005 à 15:43
Hello,
j'ai de gros doutes...:-)
D'abord, tu fais un count () en plus, au lieu d'un accès direct.
Ensuite, j'ai un peu de mal à te suivre (mais je suis fatigué
aujourd'hui lol) : COUNT (*) écrit ainsi ne va te ramener qu'un tableau
avec 1 seule entrée, à priori.
Donc ton count php va toujours te ramener 1...?
Donc ta vérification est toujours fausse?
Bref dans un cas tu cherches à savoir si la valeur de l'enregistrement
à la clef 0 du tableau ramené est à 0 ou non. dans le second, tu
cherches à savoir si le tableau ramené contient 0 enregistrement ou
non.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 oct. 2005 à 19:42
Salut,
" Donc ton count php va toujours te ramener 1...?
Donc ta vérification est toujours fausse?"
exact lol
sinon pour le mysql_num_rows() c'est largement plus lent car ça
récupère tous les enregistrements de la requête (champs et valeur des
champs, bref avec une table à 100000 d'enregistrements tente un select
machin avec un num_rows et un COUNT(*) tu verras la différence de temps
de génération)