優先して調整が必要なクエリの特定
以下のクエリは、過去 7 日間に実行されたステートメントのうち、最も時間がかかった上位 50 位のステートメントを特定します。この結果を利用することで、異常に時間がかかっているクエリを特定できます。また、頻繁に実行されるクエリ (結果セットに複数回出現するクエリ) を特定できます。これらのクエリは多くの場合、システムパフォーマンスを高めるために優先して調整する必要があります。
このクエリは、特定された各クエリに関連するアラートイベントの数も生成します。これらのアラートは、クエリのパフォーマンスを高めるために使用できる詳細を提供します。詳細については、「クエリアラートの確認」を参照してください。
select trim(database) as db, count(query) as n_qry, max(substring (qrytext,1,80)) as qrytext, min(run_minutes) as "min" , max(run_minutes) as "max", avg(run_minutes) as "avg", sum(run_minutes) as total, max(query) as max_query_id, max(starttime)::date as last_run, sum(alerts) as alerts, aborted from (select userid, label, stl_query.query, trim(database) as database, trim(querytxt) as qrytext, md5(trim(querytxt)) as qry_md5, starttime, endtime, (datediff(seconds, starttime,endtime)::numeric(12,2))/60 as run_minutes, alrt.num_events as alerts, aborted from stl_query left outer join (select query, 1 as num_events from stl_alert_event_log group by query ) as alrt on alrt.query = stl_query.query where userid <> 1 and starttime >= dateadd(day, -7, current_date)) group by database, label, qry_md5, aborted order by total desc limit 50;