zoukankan      html  css  js  c++  java
  • 如何查找消耗资源较大的SQL

    对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL。
    1.从V$SQLAREA中查询最占用资源的查询。
    select b.username username,a.disk_reads reads,
    a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,
    a.sql_text Statement
    from v$sqlarea a,dba_users b
    where a.parsing_user_id=b.user_id
    and a.disk_reads > 100000
    order by a.disk_reads desc;
    用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。
    V$SQL是内存共享SQL区域中已经解析的SQL语句
    2.列出使用频率最高的5个查询:
    select sql_text,executions
    from (select sql_text,executions,
    rank() over
    (order by executions desc) exec_rank
    from v$sql)
    where exec_rank <=5;
    3.消耗磁盘读取最多的sql top5:
    select disk_reads,sql_text
    from (select sql_text,disk_reads,
    dense_rank() over
    (order by disk_reads desc) disk_reads_rank
    from v$sql)
    where disk_reads_rank <=5;
    找出需要大量缓冲读取(逻辑读)操作的查询:
    select buffer_gets,sql_text
    from (select sql_text,buffer_gets,
    dense_rank() over
    (order by buffer_gets desc) buffer_gets_rank
    from v$sql)
    where buffer_gets_rank<=5;
  • 相关阅读:
    强大的Resharp插件
    配置SPARK 2.3.0 默认使用 PYTHON3
    python3 数据库操作
    python3 学习中的遇到一些难点
    log4j的一个模板分析
    MYSQL内连接,外连接,左连接,右连接
    rabbitmq实战记录
    领域模型分析
    分布式系统学习笔记
    阿里开发规范 注意事项
  • 原文地址:https://www.cnblogs.com/jxrichar/p/6160871.html
Copyright © 2011-2022 走看看