temps d'exécution mysql
-
06-07-2019 - |
Question
Existe-t-il un moyen d'obtenir l'heure d'exécution de la dernière requête exécutée dans mysql?
La solution
mysql a un profileur intégré . Vous pouvez activer le profilage en émettant set profiling = 1;
et en utilisant show profiles;
pour obtenir les temps d'exécution.
Autres conseils
si vous utilisez PHP .. vous pouvez utiliser microtime () avant et après la requête pour déterminer le temps nécessaire à l’exécution de la requête.
$sql_query='SELECT * FROM table';
$msc=microtime(true);
$mysql_query($sql_query);
$msc=microtime(true)-$msc;
echo $msc.' seconds'; // in seconds
echo ($msc*1000).' milliseconds'; // in millseconds
Essayez ceci ...
mysql_query("SET profiling = 1;");
if (mysql_errno()) { die( "ERROR ".mysql_errno($link) . ": " . mysql_error($link) ); }
/* It goes without saying that this is your actual query that you want to measure the execution time of */
$query="SELECT some_field_name FROM some_table_name";
$result = mysql_query($query);
if (mysql_errno()) { die( "ERROR ".mysql_errno($link) . ": " . mysql_error($link) ); }
$exec_time_result=mysql_query("SELECT query_id, SUM(duration) FROM information_schema.profiling GROUP BY query_id ORDER BY query_id DESC LIMIT 1;");
if (mysql_errno()) { die( "ERROR ".mysql_errno($link) . ": " . mysql_error($link) ); }
$exec_time_row = mysql_fetch_array($exec_time_result);
echo "<p>Query executed in ".$exec_time_row[1].' seconds';
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow