Moldawian: Dauer im Skript erhalten

Hi,
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?
Viele Grüße
Moldawian

  1. 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

    1. Hi,
      okay, danke für das Beispiel. Ich habe halt gedacht, dass es eigentlich naheliegend wäre die Bearbeitungszeit vom Server zu kriegen, da er sie normalerweise ja auch berechnet.
      MfG
      Moldawian