temps d'execution d'une requete

yop
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 17:32

Salut,

connaissez vous un moyen de connaitre le temps d'execution d'une requete sql dans un page web.
Je ne souhaite pas connaitre ce temps via microtime() avant et apres de la requete(puis faire la soustraction des deux), car il me semble qu'avec cette maniere de proceder on obtient en plus du temps d'execution, le temps d'execution du php. Vous me suivez?

Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 juil. 2007, 17:45

Tu peux utiliser la méthode dont tu parles.
le début et la fin correspondent à l'exécution de la commande microtime(), pas à la durée complète du code

Code : Tout sélectionner

Exécution du script PHP 0 10 20 30 tps d'exécution en ms |--------------------------------------------| | | début fin requête requête
si tu mets un microtime() au début de la requête, un autre à la fin de la requête, et que tu fait la soustraction, tu obtiendras 10ms, pas 30 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

yop
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 17:56

function tjs_GetTempsTraitement($timer1) 
{ 
$timer2 = microtime(); $timer2 = substr($timer2,strpos($timer2," ")) + substr($timer2,0,strpos($timer2," "));
$timer1 = substr($timer1,strpos($timer1," ")) + substr($timer1,0,strpos($timer1," "));
return round(($timer2-$timer1),5);
}

$SQLSearch='select * from table where '.$sql. 'order by date asc limit '.$limit1. ' , '.$limit2;
$ChronoStart = microtime();
$Query=mysql_query($SQLSearch,$nConnection);
$temps = tjs_GetTempsTraitement($ChronoStart);
echo $temps;
Moi j'ai ca pour le moment, mais je comprends pas pourquoi cette méthode ne calcule pas le temps d'execution du php?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 juil. 2007, 19:52

Regarde bien la doc : http://fr2.php.net/manual/fr/function.microtime.php

en PHP4, il faut découper le résultat
en PHP5, il faut passer TRUE ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

yop
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 21:05

merci pour le lien.

Ps: ma fonction fonctionne mais je pensais que ca donnait le temps d'execution de la requete+ le temps d'execution de l'interpretation du code php^^