优化SQLhtml
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/oracle
执行计划运维
具体介绍以前,咱们先要了解什么是执行计划。 编辑器
执行计划是数据库系统根据SQL源码和相关对象的统计资料产生的查询方案。在数据库服务器硬件环境和网络肯定的状况下,SQL的执行计划决定了SQL的性能。工具
最佳实践post
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秒。
结论: