postgres 下面查詢
按平均時(shí)間排序
select userid::regrole,dbid,total_time,calls,total_time/calls as avg_time,query from pg_stat_statements order by avg_time desc limit 20;
按全部時(shí)間排序
select userid::regrole,dbid,total_time,calls,total_time/calls as avg_time,query from pg_stat_statements order by total_time desc limit 20;
清空慢查詢重新記錄
select pg_stat_statements_reset()
如果臨時(shí)需要逻翁,也可以 在對(duì)應(yīng)數(shù)據(jù)庫執(zhí)行如下sql語句即可:
1申眼,單條記錄查詢:根據(jù)queryid 查詢 query ?:
? ? ? ? ? ? select query ?from pg_stat_statements ?where queryid = '3312271115';
? ? ? 2.查詢平均時(shí)長(zhǎng)最大 30條:
? ? ?SELECT ?t2.rolname, t3.datname,queryid,query, ?(total_time/calls) / 1000 as average ?
? ? ? FROM ? ?pg_stat_statements t1 JOIN pg_roles t2 ON (t1.userid=t2.oid) JOIN pg_database t3 ON (t1.dbid=t3.oid)?
? ? ? ORDER ? BY average DESC LIMIT 30;