Resultado del tiempo de consulta en MySQL con PHP
¿Hay alguna manera de obtener la hora de una consulta MySQL (específicamente con PHP)? Es decir, el tiempo real que llevó completar la consulta.
Algo como: Resultados 1 - 10 para marrón. (0,11 segundos)
Intenté buscar un ejemplo, pero fue en vano. Aquí hay un ejemplo de mi código:
// prepare sql statement
$stmt = $dbh->prepare("SELECT ijl, description, source, user_id, timestamp FROM Submissions WHERE MATCH (ijl, description) AGAINST (?)");
// bind parameters
$stmt->bindParam(1, $search, PDO::PARAM_STR);
// execute prepared statement
$stmt->execute();
Para mi búsqueda de texto completo actual utilizando un motor de tablas MyISAM. Cualquier ayuda sería increíble. Gracias.
Aceptado
$starttime = microtime(true);
//Do your query and stuff here
$endtime = microtime(true);
$duration = $endtime - $starttime; //calculates total time taken
TENGA EN CUENTA que esto le dará el tiempo de ejecución en segundos (no en microsegundos) al microsegundo más cercano debido a que get_as_float
el parámetro es verdadero. Mira esto
esto puede ayudarte
http://dev.mysql.com/doc/refman/5.0/en/show-profile.html
mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query |
+----------+----------+--------------------------+
| 0 | 0.000088 | SET PROFILING = 1 |
| 1 | 0.000136 | DROP TABLE IF EXISTS t1 |
| 2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+
saludos
Hay dos posibilidades que puedo decirte ahora:
- ajuste ->ejecutar() con microtime() y mídalo usted mismo, posiblemente envolviendo el fragmento de código completo de "consulta" dentro de una clase/función
- ejecute la consulta EXPLAIN de esa consulta y vea si puede leer algunos valores de los datos devueltos
Espero que ayude.