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 :

Nombre de requetes en cache et temps d'execution


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut Nombre de requetes en cache et temps d'execution
    Bonjour,

    Je cherche comment connaître le nombre de requête en cache lors d'exécution de requêtes (donc pas celle dans le cache global), et aussi comment récupérer le temps d'exécution d'une requête?

    Merci

  2. #2
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Vous pouvez utiliser un profiler de requête (mysql query browser ?) ou un profiler de code (xdebug avec interface kcachegrind ou script perl ct_annotate ?).

    Est-ce que vous utilisez une classe d'abstraction de base de données ? Si oui, modifiez la méthode de requête par example comme cela :
    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
    22
    23
    24
    25
    <?
    	function query($sql, $unbuffered = false)
    	{
    		if (defined('DEBUG'))
    			$q_start = get_microtime();
     
    		$this->query_result = @mysqli_query($this->link_id, $sql);
     
    		if ($this->query_result)
    		{
    			if (defined('DEBUG'))
    				$this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
     
    			++$this->num_queries;
     
    			return $this->query_result;
    		}
    		else
    		{
    			if (defined('DEBUG'))
    				$this->saved_queries[] = array($sql, 0);
     
    			return false;
    		}
    	}
    Si vous utilisez directement les fonctions de reqûetes, j'ai peur qu'il ne vous reste plus que les profilers (qui sont de très bonnes solutions, surtout si vous n'en utilisez pas déjà).

  3. #3
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Non je n'utilise pas de classe, mais j'ai vu une technique qui consiste a faire un SHOW STATUS avant et apres la requete.

  4. #4
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Effectivement je voie plein de solutions dans la documentation : http://dev.mysql.com/tech-resources/...-profiler.html
    Vous parlez peut-être de show profiles ? Vive google au fait n'est-ce-pas...

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Eu j'ai évidemment fait plusieurs recherche sur google avant de poster ce sujet...

    Edit: Quel est la méthode utilisé sur le forum?

  6. #6
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    vBulletin utilise une classe d'abstraction de base de données avec des fonctions de débuggage à l'instar du code que j'ai posté.

Discussions similaires

  1. [ASA6]Requetes qui prennent du temps a executer
    Par sboffin dans le forum Sybase
    Réponses: 5
    Dernier message: 16/10/2006, 13h20
  2. TEMPS D'execution de requets
    Par habbou dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 21/09/2006, 11h29
  3. [VBA-E] Temps d'execution de requetes SQL tres long
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2006, 10h25
  4. [Stratégie] Mesurer le temps d'exécution d'une requête
    Par nice dans le forum Général Java
    Réponses: 5
    Dernier message: 29/01/2006, 17h53
  5. [MySQL] Nombre de requetes exécutées dans une page
    Par AlphonseBrown dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/11/2005, 19h38

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