Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Identificazione delle migliori query per l'ottimizzazione
Le seguenti query identificano le 50 istruzioni più dispendiose in termini di tempo, che sono state eseguite negli ultimi 7 giorni. È possibile utilizzare i risultati per identificare le query che impiegano un tempo insolitamente lungo. È possibile anche identificare le query che vengono eseguite frequentemente (ovvero quelle che appaiono più di una volta nell'insieme di risultati). Queste sono spesso buone query da ottimizzare per migliorare le prestazioni del sistema.
Questa query fornisce inoltre un numero di eventi di avviso associati a ogni query rilevata. Questi avvisi forniscono dettagli che puoi utilizzare per migliorare le prestazioni della query. Per ulteriori informazioni, consultare Revisione degli avvisi di query.
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;