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 :

Afficher le temps mis pour executer une requête SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut Afficher le temps mis pour executer une requête SQL
    Bonjour à tous,

    comme écrit dans le titre, j'aimerais afficher le temps mis pour executer une requête SQL sur une page.

    Je ne sais pas du tout comment m'y prendre.
    Pouvez-vous m'aider svp ?

    Merci d'avance.

  2. #2
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Salut,

    Il faut stocker l'heure courante la plus précise possible avant le traitement à mesurer et la comparer avec l'heure courante, toujours très précise, juste après le traitement.

    Voici l'exemple fournit avec la fonction "microtime". il te suffit de l'adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    /**
     * Fonction simple identique à celle en PHP 5 qui va suivre
     */
    function microtime_float() 
    { 
        list($usec, $sec) = explode(" ", microtime()); 
        return ((float)$usec + (float)$sec); 
    } 
     
    $time_start = microtime_float();
     
    // Attend pendant un moment
    usleep(100);
     
    $time_end = microtime_float();
    $time = $time_end - $time_start;
     
    echo "Ne rien faire pendant $time secondes\n";
    ?>
    il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre. Paul Eluard
    Des fois ça malche, des fois ça malche pas. Garcimore

  3. #3
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    merci, ça fonctionne (on remplace l'attente par la requête SQL). Comment puis-je afficher moins de chiffres sinon ?

    Exemple affiché : 0.0079858303070068 secondes.

    J'aimerais limiter l'affichage a deux chiffres après la virgule.

    Merci d'avance.

  4. #4
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    la fonction round marche bien
    A faire et à défaire on finit par ne plus rien faire.

  5. #5
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    merci,

    mais si je fais par exemple :

    Comment PHP saura-t'il que c'est de la variable $time dont je parle ?

  6. #6
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par micatmidog
    merci,

    mais si je fais par exemple :

    Comment PHP saura-t'il que c'est de la variable $time dont je parle ?
    en faisant
    A faire et à défaire on finit par ne plus rien faire.

  7. #7
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    a ok lol, merci beaucoup

    PS: j'avais mis et non l'inverse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. commande shell pour executer une requête sql
    Par young077 dans le forum Administration système
    Réponses: 4
    Dernier message: 10/07/2009, 02h19
  2. le temps passé pour executer une requete
    Par sefir dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/11/2007, 11h04
  3. Aide pour construire une requête SQL
    Par squalito dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/03/2007, 14h08
  4. [MySQL] Est-ce possible de creer des champs en temps réel lors d'une requête SQL ?
    Par kaptnkill dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 19h18
  5. Réponses: 2
    Dernier message: 01/09/2006, 00h02

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