Page 1 sur 1

temps d'execution d'une requete

Posté : 16 juil. 2007, 17:32
par yop
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

Posté : 16 juil. 2007, 17:45
par zeus
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 ;)

Posté : 16 juil. 2007, 17:56
par yop
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?

Posté : 16 juil. 2007, 19:52
par zeus
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 ;)

Posté : 16 juil. 2007, 21:05
par yop
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^^