sql >> Databáze >  >> RDS >> Mysql

Získání skutečné (absolutní) doby provedení posledního dotazu v PHP (s výjimkou latence sítě atd.)

zkuste toto:

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

?>

první if uvádí celkovou dobu provádění vašeho dotazu takto:

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

druhý if uvádí podrobné časy provedení vašeho dotazu. Výsledky by měly být přesné, protože používáte interní profiler mysql.




  1. Porušení mohutnosti při použití poddotazu, který vrací dvě hodnoty

  2. Jak exportovat databázi mysql pomocí příkazového řádku?

  3. Problém databáze, jak uložit měnící se datovou strukturu

  4. Jak najít první volné časy zahájení z rezervací v Postgres