慢sql分析方法

默认是关闭的,开启方法:

##保存当前PS设置 
CALL sys.ps_setup_save(-1); 

##开启所有 stage 事件的监控 
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'stage/%'; 

##开启所有stage消费者 
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_stages%';
 
查询是否开启:

##监控项 
SELECT NAME, ENABLED, TIMED FROM performance_schema.setup_instruments \ WHERE NAME LIKE "stage/%"; 

##消费者 
SELECT * FROM performance_schema.setup_consumers \ WHERE NAME LIKE 'events_stages%';  
 
 
关闭:

##还原到之前保存的PS设置
CALL sys.ps_setup_reload_saved(); 
 

分析 insert 的 event stage:

SELECT t1.EVENT_ID as SQL_ID,t2.EVENT_ID, t2.EVENT_NAME
    , round(t2.TIMER_WAIT / 1000000, 0) as TIMER_WAIT_us
    , t2.WORK_COMPLETED, t2.WORK_ESTIMATED, t1.SQL_TEXT
FROM events_stages_history_long t2
    JOIN events_statements_history t1 ON t1.EVENT_ID = t2.NESTING_EVENT_ID
where t1.ERRORS=0 
and t1.SQL_TEXT like 'insert into PS_BM_UNI_DTAL_%' \
order by t2.TIMER_START;

posted @ 2022-07-01 15:54  屠魔的少年  阅读(6)  评论(0)    收藏  举报