Auteur Sujet: Compter Le Nombre De Requetes Mysql  (Lu 794 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne AnakinDSL

  • Habitué
  • **
  • Messages: 109
    • Guillaume Hénot Multlimedia Design
Compter Le Nombre De Requetes Mysql
« le: 10 avril 2004 à 12:15:43 »
Bonjour,

Comment faire pour savoir (comme par exemple en bas de la page de ce forum) combien de requetes MySQL ont été nécessaires pour générer la page ?

Parce que avant de mettre certaines pages d'un forum perso sur les serveur d'ici, ben j'aimerais bien voir dans quelle mesure je peux optimiser ...

Merci
A+
<?php if (!isset($your_life)) die(); ?>

Hors ligne Jaunalgi

  • Connaisseur
  • ***
  • Messages: 285
    • http://www.lesfilms.org
Compter Le Nombre De Requetes Mysql
« Réponse #1 le: 10 avril 2004 à 12:59:11 »
je te copie la réponse que cheminots m'avait fait sur ce message ICI ;)

Citer
Je sais qu'on en a parlé quelque part mais il faut ajouter +1 à une variable à chaque requête pour savoir exactement combien de requêtes on a par page je crois. Exact?
Citer
Exact.

après chaque sql_query, il suffit d'implementer une variable ($sql_count, par exemple) pour connaître ne nombre exact de requêtes.

avec phpnuke, par exemple :

dans includes/sql_layer.php

CODE  
function sql_query($query, $id)
{
global $sqlcount;
$sqlcount++;
global $dbtype;
global $sql_debug;
$sql_debug = 0;
if($sql_debug) echo "SQL query: ".str_replace(",",", ",$query)."<BR>";
switch ($dbtype) {
........



dans db/mysql.php (en fonction de votre version)

CODE  

.........
       function sql_query($query = "", $transaction = FALSE)
       {
               global $sqlcount;
               $sqlcount ++;
........



et pour finir, l'affichage dans footer.php

CODE  
function footmsg() {
function footmsg() {
   global $foot1, $foot2, $foot3, $copyright, $totaltime, $starttime, $sqlcount;
   $mtime = microtime();
   $mtime = explode(" ",$mtime);
   $mtime = $mtime[1] + $mtime[0];
   $endtime = $mtime;
   $totaltime = ($endtime - $starttime);
   $totaltime = ""._PAGEGENERATION." ".substr($totaltime,0,5)." "._SECONDS."";
   $sqlrequest = "$sqlcount "._SQLTRAITEMENTS."";
   echo "<font class=\"footmsg\">\n";
   if ($foot1 != "") {
       echo "$foot1<br>\n";
   }
   if ($foot2 != "") {
       echo "$foot2<br>\n";
   }
   if ($foot3 != "") {
       echo "$foot3<br>\n";
   }
   // DO NOT REMOVE THE FOLLOWING COPYRIGHT LINE. YOU'RE NOT ALLOWED TO REMOVE NOR EDIT THIS.
   echo "$copyright<br>$totaltime<br>\n$sqlrequest<br>\nVotre requête a été traitée par le serveur ";
   echo substr(gethostbyaddr($_SERVER['SERVER_ADDR']), -4);
   echo "</font>";

}

Je pense que ça répond à ta question :P  :lol:  
« Modifié: 10 avril 2004 à 12:59:44 par Jaunalgi »

Hors ligne AnakinDSL

  • Habitué
  • **
  • Messages: 109
    • Guillaume Hénot Multlimedia Design
Compter Le Nombre De Requetes Mysql
« Réponse #2 le: 10 avril 2004 à 14:41:27 »
Super !!!

Merci bcp !!!
<?php if (!isset($your_life)) die(); ?>