Есть ли способ, которым я могу получить время запроса MySQL (в частности, с PHP)? Фактическое время, необходимое для завершения запроса.
Что-то вроде: Результаты 1 – 10 для коричневого. (0,11 секунды)
Я попытался найти пример, но безрезультатно. Вот пример моего кода:
// 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();
Для моего текущего полнотекстового поиска с использованием движка таблицы MyISAM. Любая помощь будет невероятной. Спасибо.
$starttime = microtime(true); //Do your query and stuff here $endtime = microtime(true); $duration = $endtime - $starttime; //calculates total time taken
Это даст вам время работы в микросекундах.
это может помочь вам
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) | +----------+----------+--------------------------+
Привет
Сейчас я могу сказать вам две возможности:
Надеюсь, это поможет.
Если вы используете MYSQL 5, лучше проверить SHOW PROFILE
http://dev.mysql.com/doc/refman/5.0/en/show-profile.html
и распечатать тайминги в php … или EXPLAIN инструкцию SQL, которая занимала больше времени или детализировала каждый запрос … по CPU и т. д.