Klaus Mock: Dauer im Skript erhalten

Beitrag lesen

Hallo,

gibt es eine Möglichkeit die Zeit, die der MySQL-Server gebraucht hat die jeweilige Anfrage zu verarbeiten, per DBI (als Handle-Attribut?) zu erhalten?

Mir ist keine bekannt. Aber Du kannst ja die Funktion time bzw. (falls Du es genauer brauchst) die Module Benchmark und Time::HiRes benutzen um die Zeiten zu ermitteln.

<sample>
use Time::HiRes qw( gettimeofday tv_interval );

some other Code here

my ($starttime,$preparetime,$executetime,$finishtime);

$starttime = [gettimeofday];
$sth = $dbh->prepare($sqlstatement);
$preparetime = tv_interval ( $starttime, [gettimeofday]);
$sth->execute();
$executetime = tv_interval ( $starttime, [gettimeofday]);

fetching and processing the data

$sth->finish;
$finishtime = tv_interval ( $starttime, [gettimeofday]);

print <<EOF
Ausführung brauchte :
Prepare: $preparetime
Execute: $executetime
Gesamt : $finishtime
EOT
;

</sample>

Grüße
  Klaus