美文网首页
查找数据库CPU耗用高的SQL | 查询数据量

查找数据库CPU耗用高的SQL | 查询数据量

作者: SweetBecca | 来源:发表于2019-03-26 09:48 被阅读0次

    又好久没有写简书了,难道说真的上了年纪堕落了吗?前阵子呢好不容易过了个人生的分水岭,歪打正着,入了运维的坑,也不知道这次入坑会多久。没有DBA,只能自己先凑合着用了。运维过程中,经常会发生数据库莫名增高问题,其实都是研发没写好啦,用下面的命令可以帮助研发定位出来有问题的SQL语句,以促进优化吧。

    如何查询CPU耗用时长较多的语句

    SELECT * FROM (select b.username "用户ID",
    a.FIRST_LOAD_TIME "执行开始时间",
    a.EXECUTIONS "执行次数",
    a.DISK_READS "物理读(磁盘读取)",
    a.buffer_gets "逻辑读(内存读取)",
    (a.CPU_TIME/1000000) "cpu耗时(秒)",
    round(a.ELAPSED_TIME / 1000000, 2) "总执行时间(秒)",
    round(a.ELAPSED_TIME / 1000000 / EXECUTIONS, 2) "平均执行时间(秒)",
    a.INVALIDATIONS "无效次数",
    a.ROWS_PROCESSED "语句返回的列总数",
    a.sql_fulltext "sql"
    FROM v$sqlarea a
    left join all_users b
    on a.PARSING_USER_ID = b.user_id
    --时间选择区
    where a.FIRST_LOAD_TIME between '2019-03-25/09:35:00' and
    '2019-03-25/09:39:00'
    --被除数可能为0
    and a.EXECUTIONS>0
    --系统性能分析去除
    and instr(a.sql_fulltext,'v$')=0
    order BY (a.ELAPSED_TIME/a.EXECUTIONS) DESC )where ROWNUM<=30
    

    除此之外呢,还经常会有提供一下数据库数据量的需求,这样一行代码查一下就好了。

    数据量查询

    Select round (sum (bytes) /1024/1024/1024,2) ||'GB'
    from dba_data_files;
    

    在DBA这块还真是小白白,用到好用的会继续更新记录,以备不时之需。
    嗯,技能只能一点儿一点儿攒了。

    相关文章

      网友评论

          本文标题:查找数据库CPU耗用高的SQL | 查询数据量

          本文链接:https://www.haomeiwen.com/subject/bsjbvqtx.html