Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menampilkan waktu eksekusi kueri MySQL di PHP?

Ini bekerja seperti pesona!

    $db->query('set profiling=1'); //optional if profiling is already enabled
    $db->query($_POST['query']);
    $stmt = $db->query('show profiles');
    $db->query('set profiling=0'); //optional as well

    $records = $stmt->fetchAll(PDO::FETCH_ASSOC);

    $errmsg = $stmt->errorInfo()[2]; //Output the error message 

PERBARUI (Yang berikut ini sekarang berfungsi di innodb pada pengaturan saya saat ini)

$db->query('set profiling=1'); //optional if profiling is already enabled
$db->query($_POST['query']);
$res = $db->query('show profiles');
$records = $res->fetchAll(PDO::FETCH_ASSOC);
$duration = $records[0]['Duration'];  // get the first record [0] and the Duration column ['Duration'] from the first record

Hasil (tampilkan profil) dari phpmyadmin.

Query_ID    Duration    Query   
1           0.00010575  SELECT DATABASE()

Mendapatkan waktu eksekusi aktual (mutlak) dari kueri terakhir di PHP (tidak termasuk latensi jaringan, dll.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Setel bidang untuk secara otomatis memasukkan cap waktu pada UPDATE?

  2. Cari Beberapa Item di Beberapa kolom

  3. Docker Compose impor mysql .sql

  4. mysqli - panggilan kesalahan fetch_Array ke fungsi anggota fetch_array() pada mysqli non-objek

  5. Kelas keamanan di Codeigniter