Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да покажа времето за изпълнение на MySQL заявка в PHP?

Това работи като чар!

    $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 

АКТУАЛИЗИРАНЕ (Следното вече работи на innodb при настоящата ми настройка)

$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

Резултат от (показване на профили) от phpmyadmin.

Query_ID    Duration    Query   
1           0.00010575  SELECT DATABASE()

Получаване на действителното (абсолютно) време на изпълнение на последната заявка в PHP (с изключение на латентността на мрежата и т.н.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Много прост потребителски въвеждане в django

  2. Не може да се изтегля двоичен файл в PHP

  3. Конструирайте заявка за създаване на таблици

  4. SQL Как да създам стойност за нова колона въз основа на броя на съществуваща колона по групи?

  5. Използване на оператор like с $wpdb->prepare, показващ хешове, където са заместващи знаци