IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mysql_num_rows Or count


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut mysql_num_rows Or count
    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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ça dépend, t'as besoin que du nombre de données, ou aussi les données ?

  3. #3
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    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 ?

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Citation Envoyé par PIEPLU Voir le message
    Ok compris

    Count quand j'ai aps besoin des données et mysql_num_rows dans leur cas.
    Non, si tu n'as pas besoin des données c'est
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(id) AS nbOfRec FROM t_table WHERE ...
    Sinon, il vaut mieux mysql_num_rows() qui évite de remplir au préalable un tableau avec tes données pour ensuite faire un count()

  5. #5
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    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.

  6. #6
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    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.

Discussions similaires

  1. [MySQL] Requete count et mysql_num_rows
    Par sanaa16 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2008, 15h23
  2. [MySQL] COUNT * vs mysql_num_rows
    Par mikaoul dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/08/2007, 13h28
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. Multiple Count
    Par Antichoc dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2003, 11h19
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo