• 性能测试案例:Oracle重复的SQL


    前段时间,在压测过程中发现oracle数据库存在一定的性能问题,通过awr报告,发现硬解析偏多,随后通过oem监控,发现是有重复的sql,这样每个sql都会硬解析,生成执行计划。下面简单演示下这个问题(非实际项目压测过程复现)。→→→点此阅读原文

    执行sql

    可以看到,只有job的值不一样

    生成awr报告 

    SQL> @?/rdbms/admin/awrrpt.sql

    选择报告类型为html,天数输入1

    开始快照id和结束快照id分别选择2、3

    直接回车,会自动创建一个带快照id文件名的html文件

    报告创建成功

    html文件

    在html报告Report Summary的Load Profile中,发现硬解析(Hard parses)每秒钟次数偏多,这样会造成共享池latch的争用,影响数据库并发处理能力、硬解析还消耗cpu时间,为了进一步定位问题,下面结合oem一起分析。

    oem监控

    登录

    主目录 

    选择“性能”标签

    展示性能监控 

    选择“重复的SQL”

    可以看到我们刚刚执行的sql

    5个sql执行的时候都生成了执行计划,最好是只生成一次执行计划,后面复用这个执行计划,我们可以用绑定变量的方式来解决这个问题。

  • 相关阅读:
    338. Counting Bits
    78. Subsets
    MySQL读写分离
    AESEncryption Aes 加密
    LoopBox 用于包装循环的盒子
    ES 服务器 索引、类型仓库基类 BaseESStorage
    一键压缩脚本
    非常好用的一个分组扩展方法
    快递、拆分、合并、优选逻辑
    Git Extensions 使用小结
  • 原文地址:https://www.cnblogs.com/uncleyong/p/13337589.html
Copyright © 2020-2023  润新知