system.query_log常用SQL

2022/8/3 2:22:47

本文主要是介绍system.query_log常用SQL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

-- 每天的慢SQL数量
select event_date, count(*) num from system.query_log ql where
    ql.query_duration_ms > 1000
    and event_date >= '2022-07-01'
    and event_date < '2022-08-03'
group by event_date


-- 一条SQL在这一天执行多少次
select count(*) from (
    select query,count(*)
    from system.query_log
        where query_duration_ms > 1000
            and event_date >= toDate('2022-07-23')
            and event_date <= toDate('2022-07-23')
            and query like '%SELECT sum(duration) AS sum_duration, toYYYYMMDD(toDate(end_time)) AS play_date FROM dss_prod.apr_view_student_v1%'
        group by query having count(*) < 2) c


select
    -- count(*)
    user,
    formatDateTime(query_start_time, '%Y%m%d %T') AS start_time,
    query_duration_ms / 1000 AS query_duration_s,
    query
from system.query_log
where 
    query_duration_ms > 3000
    and type = 2
    and event_date >= toDate('2022-07-23')
    and event_date <= toDate('2022-07-23')
order by query_duration_s DESC
limit 100


select
    -- count(*)
    user,
    formatDateTime(query_start_time, '%Y%m%d %H:%M') AS start_time,
    query_duration_ms / 1000 AS query_duration_s,
    query
from system.query_log
where
    query_duration_ms > 1000
    and type = 2
    and event_date >= toDate('2022-07-23')
    and event_date <= toDate('2022-07-23')
order by start_time ASC
-- group by start_time
limit 100


-- 一条SQL多少个
select
    -- formatDateTime(query_start_time, '%Y%m%d %H:%M') AS start_time,
    count(*) as num,
    -- query_duration_ms / 1000 AS query_duration_s,
    query
from system.query_log
where
    query_duration_ms > 1000
    and type = 2
    and event_date >= toDate('2022-07-23')
    and event_date <= toDate('2022-07-23')
group by
    -- start_time,
    -- query_duration_ms / 1000,
    query
having count(*) > 10
order by num DESC


-- 1min多少条SQL
select
    formatDateTime(query_start_time, '%Y%m%d %H:%M') AS start_time,
    count(*)
    -- query_duration_ms / 1000 AS query_duration_s,
    -- query
from system.query_log
where
    query_duration_ms > 1000
    and type = 2
    and event_date >= toDate('2022-07-23')
    and event_date <= toDate('2022-07-23')
group by
    start_time
    -- query_duration_ms / 1000 ,
    -- query
having count(*) > 50
order by start_time ASC

 



这篇关于system.query_log常用SQL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程