Faire des benchs [MySQL] - Programmation
Marsh Posté le 11-09-2001 à 09:02:20
Je te donne un petit script que j'ai fait :
<?php
/******************************/
preg_match("/^(0\.[0-9]+)\s([0-9]+)$/",microtime(),$t0);
$T0=($t0[1]+$t0[2]);
/******************************/
ICI TU METS TON CODE A TESTER
/******************************/
preg_match("/^(0\.[0-9]+)\s([0-9]+)$/",microtime(),$t1);
$T1=($t1[1]+$t1[2]);
echo "<br>Durée totale d'éxécution : ".number_format(($T1-$T0),4)." sec<br>";
/******************************/
?>
Marsh Posté le 11-09-2001 à 10:39:54
effectivement c'est ce que j'ai fait :
/* début du script */
function getmicrotime()
{
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
return ($mtime);
}
$debut=getmicrotime();
/* script à tester */
$fin=getmicrotime();
echo round(($fin-$debut),3)." s";
mais c'est assez approximatif et dépend aussi de php...
alors je me demande quand je vois les benchs du site mysql ( http://ftp.plig.org/pub/mysql/info [...] marks.html ) s'ils se sont à chaque fois servi de php pour faire les mesures sur toutes les bases de données qui existent...
merci pour ta réponse
Marsh Posté le 10-09-2001 à 19:28:40
*Existe-t-il un moyen simple de faire des benchmarks sur des requêtes SQL ?*
En effet il existe une fonction BENCHMARK(expr,nombre de fois où la requête est exécutée) mais uniquement sur des formules mathématiques avec les fonctions MySQL et pas sur des requêtes.
Il existe aussi un moyen un peu plus approximatif en PHP en prenant le microtime de début d'exécution du script et en y soustrayant la fin on arrive à une mesure en millisecondes, mais cela ne me satisfait pas...
Si quelqu'un a une soluce...
merci