sql >> Database >  >> RDS >> Mysql

De werkelijke (absolute) uitvoeringstijd van de laatste query in PHP verkrijgen (exclusief netwerklatentie, enz.)

probeer dit:

<?php

$host='localhost';
$username='testing';
$password='testing';
$dbname='test';

$DBC = new mysqli($host,$username,$password,$dbname);

$DBC->query('set profiling=1');
$DBC->query('SELECT * FROM abc');
if ($result = $DBC->query("SHOW profiles", MYSQLI_USE_RESULT)) {


    while ($row = $result->fetch_row()) {
        var_dump($row);
    }
    $result->close();
}
if ($result = $DBC->query("show profile for query 1", MYSQLI_USE_RESULT)) {


    while ($row = $result->fetch_row()) {
        var_dump($row);
    }
    $result->close();
}
$DBC->query('set profiling=0');

?>

de eerste if statement geeft u de algehele uitvoeringstijd voor uw zoekopdracht als volgt:

array(3) { [0]=>  string(1) "1" [1]=>  string(10) "0.00024300" [2]=>  string(17) "SELECT * FROM abc" }

de tweede if statement geeft u de gedetailleerde uitvoeringstijden van uw zoekopdracht. De resultaten moeten exact zijn aangezien u de interne profiler van mysql gebruikt.




  1. Oracle 11 SQL:splits 1 rij in x rijen en voeg een nieuwe kolom in

  2. De MIN-aggregatiefunctie toepassen op een BIT-veld

  3. Overschakelen van Django-project van sqlite3-backend naar postgresql mislukt bij het laden van datadump

  4. JPA 2.1 StoredProcedureQuery met PostgreSQL en REF_CURSORs