Accueil > Forum > > > > mysql_num_rows() ou COUNT() ??
mysql_num_rows() ou COUNT() ??
lundi 21 août 2006 à 22:39:06 |
mysql_num_rows() ou COUNT() ??

aymeric45
|
Chers amis développeurs, bonjour. J'aimerais savoir, quelle est la solution la plus optimisée pour compter le nombre d'enregistrements sélectionnés par un SELECT. <?php //Solution 1 $sql=mysql_query('SELECT id FROM matable'); $nb=mysql_num_rows($sql); //Solution 2 $sql=mysql_query('SELECT COUNT(*) FROM matable'); $nb=mysql_result($sql,0); ?> Quelle solution est la plus rapide, pour 1 enregistrement ? pour x enregistrement ? Merci de me donner votre avis Aymeric
|
|
lundi 21 août 2006 à 23:14:26 |
Re : mysql_num_rows() ou COUNT() ??

pcgpegase
|
Bonsoir !
Personnellement, je pencherais plus pour un SELECT COUNT(id) pour récupérer un résultat... mais bon c'est plus par habitude qu'autre chose ^^ Je ne saurais dire laquelle des 2 solutions est la plus rapide !
Bonne soirée !
|
|
lundi 21 août 2006 à 23:21:15 |
Re : mysql_num_rows() ou COUNT() ??

davwart
|
Je donnerais aussi la solution 2 qui est plus propre (ça j'en suis sur) et je pense - gourmande en memoire (a verifier..) . -------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
mardi 22 août 2006 à 09:07:41 |
Re : mysql_num_rows() ou COUNT() ??

Guillemouze
|
moi je te dirai que ca depend de ce que tu fais. si tu veu juste connaitre le nombre d'enregistrements, alors je te conseille sans hesiter le count. par contre, si tu veu en plus traiter les enregistrements, alors peut etre que la 1ere solution est mieux, a voir. mais ca ne reste qu'un avis personnel.
|
|
mardi 22 août 2006 à 09:42:30 |
Re : mysql_num_rows() ou COUNT() ??

coockiesch
|
Salut! Le SELECT count( id ) est le plus rapide! ( et pas SELECT count( * ) ) En spécifiant l'id, la recherche sera plus rapide! @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
mardi 22 août 2006 à 10:07:56 |
Re : mysql_num_rows() ou COUNT() ??

davwart
|
Cookie...tu as une source pour ça ??? car il me semble avoir lu y' a qques mois, que le count(champ) et count(*) etait maintenant identique niveau perf. vais essayer de retrouver l'info... -------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
mardi 22 août 2006 à 10:14:53 |
Re : mysql_num_rows() ou COUNT() ??

coockiesch
|
Salut! Si je me trompe pas: les tables MySQL sont réparties sur 3 fichiers, dont un qui ne contient que les indexs. Si tu spécifies count(index) ( donc le id ), ca ne parcourt que le fichier des indexs et c'est plus rapide... Enfin, il me semble que c'est ce que j'avais vu! @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
mardi 22 août 2006 à 10:16:26 |
Re : mysql_num_rows() ou COUNT() ??

davwart
|
ok... mais count(*) se base aussi sur le fichier index et ne parcourt pas la table, c'est pour ça d'ailleurs qu'un count(*) et + rapide qu'un select *
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
mercredi 23 août 2006 à 00:39:54 |
Re : mysql_num_rows() ou COUNT() ??

Rati_12
|
faut utiliser selon la situation, si tu cherche juste a savoir le nombre, count suffit, mais si tu veut l'utiliser, alors mysql_num_rows(.
exemple
if (!((mysql_num_rows($req))>0)){ // on affiche les reponses } else { echo'aucune reponses'; }
|
|
mercredi 23 août 2006 à 08:40:45 |
Re : mysql_num_rows() ou COUNT() ??

coockiesch
|
Yop! Alors, j'ai fait qq tests sur une table de 11'000 enregistrements (la table de posts d'un forum ipb): Entre: SELECT count(*) et count(id) >> pas de différence Mais entre un: SELECT pid puis mysql_num_rows et SELECT count(*) puis mysql_fetch_row, il y a un facteur 200 au niveau du temps! @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
Cette discussion est classée dans : solution, mysql, sql, rows, num
Répondre à ce message
Sujets en rapport avec ce message
Problème de mysql_num_rows.. [ par nicomilville ]
Salut,J'ai le code suivant :$db = mysql_connect($sql_host,$sql_user,$sql_pass); mysql_select_db($sql_bdd,$db); $requete = mysql_query("SELECT * FROM
no. de ligne sdans mysql_num_rows [ par codomolo ]
Bonjour,Je cherche à obtenir le no. de chaque ligne d'un mysql_num_rowsCe que je veux c'est de pouvoir sortir les données correspondant à la ligne en
mysql_num_rows() [ par christian33 ]
BonjourMon site existe depuis 2ans et a toujours fonctioné sur les divers hebregement que j'ai eucette semaine je suis passés chez OVH et certaines pa
formulaire [ par didine6 ]
Bonjour,J'ai un formulaire général qui quand je valide doit exécuter le code situé dans v_demande.phpOr il ne valide rien du tout.Dans ce formulaire,
Enumération de résultats contenus dans une table SQL [ par Noiretulipe ]
Voici mon problème : Pour mon site, j'effectue une section statistique. Pour réaliser celle-ci, j'ai créé une table "statistique" dans laquelle sont i
Prob classe SQL. [ par Aaron ]
Bonjour,Je viens de coder ce qui suit :class DB{var $NUM_ROW;var $RESULTS; function __construct($server, $db, $login, $pwd){ $this->CNX =
mysql_num_rows [ par LordBob ]
Bonjour a tous,en fait j'aimerais juste savoir, pour connaitre le nombre de resultat que l'on a à une requête, on fait mysql_num_rows + 1?car j'ai l'i
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in... [ par Florent06 ]
SalutJe suis en train de faire une zone membres pour mon site. Dans la page d'inscription, il y a un script (pris ici) qui sert à
Menu deroulant! je suis tres étonné [ par rachidphp93 ]
Bonjour tt le monde,voila je suis débutant en php, j'ai essayé de créer un menu déroulant que j'alimente depuis une base de donnée. le problème c'est
valeur par defaut d'un menu deroulant [ par rachidphp93 ]
Bonjour tout le monde;voila un script qui ne fait pas ce que je veux!, en fait je fais une liste deroulante, je veux pour un nouve
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|