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
复制代码

 

posted @   捧花大王  阅读(172)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示