Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để hiển thị thời gian thực thi của một truy vấn MySQL trong PHP?

Điều này làm việc như một sự quyến rũ!

    $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 

CẬP NHẬT (Tính năng sau hiện hoạt động trên innodb trên thiết lập hiện tại của tôi)

$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

Kết quả của (hiển thị hồ sơ) từ phpmyadmin.

Query_ID    Duration    Query   
1           0.00010575  SELECT DATABASE()

Nhận thời gian thực thi thực tế (tuyệt đối) của truy vấn cuối cùng trong PHP (không bao gồm độ trễ mạng, v.v.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo sơ đồ cơ sở dữ liệu mới bằng MySQL Workbench

  2. Làm thế nào để chuyển đổi Lat Long sang địa chỉ trong php với json api?

  3. Tại sao kích thước bàn của tôi lớn hơn gấp 4 lần so với dự kiến? (hàng * byte / hàng)

  4. Làm thế nào lớn là quá lớn cho một bảng MySQL?

  5. ngăn chặn các mục nhập trùng lặp vào cơ sở dữ liệu