zoukankan      html  css  js  c++  java
  • SQL优化系列(一)- 优化SQL

     优化SQL

     

    SQL开发人员从源代码中发现一条跑得很慢的SQL, 如何优化?

    DBA从AWR报告中发现一条跑得很慢的SQL,没有源代码或者不想修改源代码怎么办?

     

    SQL自动优化工具SQL Tuning Expert Pro for Oracle

    下载: https://www.tosska.cn/tosska-sql-tuning-expert-pro-tse-pro-for-oracle-download-free-trial-zh/

    产品介绍: https://www.tosska.cn/tosska-sql-tuning-expert-pro-tse-pro-for-oracle-zh/

     

    执行计划

    具体介绍之前,我们先要了解什么是执行计划。 

    执行计划是数据库系统根据SQL源码和相关对象的统计资料产生的查询方案。在数据库服务器硬件环境和网络确定的情况下,SQL的执行计划决定了SQL的性能。

     

    最佳实践

    1. 打开软件Tosska SQL Tuning Expert Pro for Oracle;

    2. 连接数据库;

    3. 点击 “优化SQL” 右边的+号,创建一个会话;

    4. 在SQL编辑器中,输入需要优化的SQL

         

     5. 点击“自动优化SQL”按钮, 选择测试运行的方式,点击”确认“按钮之后,开始产生大量的等价SQL并自动测试运行;

         

     

    6. 工具产生了205条等价SQL,我们可以看到目前最优的SQL是 SQL 116, SQL执行时间从6.07秒提升到0.06秒。 

       我对这个优化结果非常满意了,于是点击“停止” 停止优化。

         原来的SQL执行时间:        6.07 秒

         最优的等价SQL执行时间: 0.06 秒

         

     

    7. 如果您是SQL开发人员,选中最快的 SQL 116, 复制 SQL文本,粘贴到源代码中替换原始SQL,然后编译程序,调优就完成了。

        如果您是运维DBA,没有源代码或者不想修改源代码,忽略本步骤,执行步骤8, 9, 10, 11;

    8. 选中最优的SQL 116, 点击 部署 SQL Patch, 用最优的等价SQL的执行计划调整原始SQL的执行计划

         

    9. 在部署SQL Patch 窗口中,点击部署按钮;

        

    10. 关闭“部署SQL Patch”窗口之后,原始SQL的执行计划已经发生变化,SQL Tuning Expert 提醒我们测试运行原始SQL来确认调优效果。

        选中原始SQL, 点击“测试运行当前SQL”

        

       

        11. 神奇的事情出现了。我们没有改变原始SQL,但是原始SQL的执行时间由原来的 6.07秒变成了现在的0秒。

         

        结论:

    • 对于SQL开发人员来说,优化SQL后,用最优的等价SQL替换原始SQL;
    • 对于运维DBA来说,在不修改SQL源代码的情况下,为原始SQL部署了最优的执行计划,成功优化了SQL的性能。    

         

       SQL优化神器 - Tosska SQL Tuning Expert for Oracle

       SQL优化系列(二)- 优化Top SQL

       SQL优化系列(三)- 用最少的索引获得最大的性能提升

        

    SQL优化工具,让您节省时间,专注公司业务
  • 相关阅读:
    Navicat Premium for Mac的破解教程
    master回滚关于protected报错
    一次fullgc问题分析总结
    redis实现分布式锁
    mysql中一次字符集和排序规则引起的sql查询报错
    springMvc框架实现
    swagger使用
    swagge源码分析
    for update在mysql中使用
    jq弹框确认
  • 原文地址:https://www.cnblogs.com/dbexpert/p/9045767.html
Copyright © 2011-2022 走看看