sql >> Database teknologi >  >> RDS >> Mysql

Få den faktiske (absolutte) eksekveringstid for den sidste forespørgsel i PHP (eksklusiv netværksforsinkelse osv.)

prøv dette:

<?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');

?>

den første if sætning giver dig den overordnede udførelsestid for din forespørgsel som denne:

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

den anden if sætningen giver dig de detaljerede eksekveringstider for din forespørgsel. Resultaterne skal være nøjagtige, da du bruger den interne mysql-profiler.




  1. Sådan ændres et databasenavn i SQL Server ved hjælp af T-SQL

  2. Simpel parametrering og trivielle planer — del 2

  3. hvordan indsætter man datetime i SQL-databasetabellen?

  4. PostgreSQL:Advarsel:Konsol kodetabel (437) adskiller sig fra Windows kodetabel (1252)