Измерение фактического времени запроса MySQL


Как я могу измерить время выполнения запроса без измерения времени, которое он тратит на ожидание разблокировки и т. д.? Моя единственная идея состояла в том, чтобы постоянно измерять один и тот же запрос и записывать самое быстрое время.

2 60

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