我正在尝试分析一个需要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%';
SELECT
sum(TRUNCATE(TIMER_WAIT / 1000000000000, 6)) AS total
FROM performance_schema.events_stages_history_long
WHERE NESTING_EVENT_ID = 13348585;
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;
我在这里错过了什么吗?谢谢。