Измерение фактического времени запроса MySQL
Как я могу измерить время выполнения запроса без измерения времени, которое он тратит на ожидание разблокировки и т. д.? Моя единственная идея состояла в том, чтобы постоянно измерять один и тот же запрос и записывать самое быстрое время.
2 ответа:
запустите профилировщик с помощью
SET profiling = 1;
затем выполните запрос.
С
SHOW PROFILES;
вы видите список запросов, для которых профилировщик имеет статистику. И, наконец, вы выбираете, какой запрос для изучения с
SHOW PROFILE FOR QUERY 1;
или любой номер вашего запроса.
что вы получаете список, где точно, сколько времени было потрачено во время запроса.
подробнее на руководство.
ответ становится недействительным...
SHOW PROFILE[S]
are устарело с MySQL 5.6.7 и будет удален в будущем выпуске MySQL. Вместо этого используйте схему производительности; см. http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html