Я пытаюсь профилировать запрос, выполнение которого занимает 40 секунд на моем RDS Aurora MySQL с активированной схемой производительности.Я надеялся, что смогу получить полное представление о том, где было потрачено время выполнения, используя запросы к таблицам events_statements_history_long
, events_stages_history_long
и events_waits_history_long
.
Я активировал все в таблицах setup_instruments
& setup_consumers
, чтобы в начале получить как можно больше данных.Я также обновил таблицу threads
, чтобы отслеживать только мой пользовательский поток.
В таблице events_statements_history_long
указано, что общая продолжительность моего запроса составила 40,658176 секунд, но когда я пытаюсь суммировать время, используя таблицы events_stages_history_long
& events_waits_history_long
, используя предоставленные event_id
, я получаю только 1,4 и 0,001 секунды.соответственно.Так что я не вижу, что он делал в оставшиеся 39 секунд.Если бы это время было потрачено на отправку данных клиенту, я предполагаю, что они будут записаны в таблицу events_stages_history_long
.
events_statements_history_long
SELECT
EVENT_ID,
TRUNCATE(TIMER_WAIT / 1000000000000, 6) AS Duration,
SQL_TEXT
FROM performance_schema.events_statements_history_long
WHERE SQL_TEXT LIKE '%UNIQUE_THING%';
events_stages_history_long
SELECT
sum(TRUNCATE(TIMER_WAIT / 1000000000000, 6)) AS total
FROM performance_schema.events_stages_history_long
WHERE NESTING_EVENT_ID = 13348585;
![events_stages_history_long output](https://i.stack.imgur.com/5Wznr.png)
events_waits_history_long
SELECT sum(TRUNCATE(TIMER_WAIT / 1000000000000, 6)) AS total
FROM performance_schema.events_waits_history_long
WHERE NESTING_EVENT_ID = 13348585;
![events_waits_history_long output](https://i.stack.imgur.com/2E4kp.png)
Я что-то здесь упускаю?Спасибо.