应用开发解决方案
图:SQL Inspector从SGA区查找不良SQL语句
4.3. SQL Optimizer
SQL Optimizer可以将SQL Scanner和SQL Inspector找出的低效SQL语句进行优化。它在充分分析SQL源代码的基础上,运用内建的人工智能(AI)技术,穷尽所有的可能的SQL改写方法和Oracle数据库的优化提示(hint),输出一份语意等价、语法正确的SQL语句列表。对列表中所有的SQL语句测试执行之后,就可以得到最适合当前数据库环境的SQL语句。
16
应用开发解决方案
图:在4级优化智能水平下,SQL Optimizerw为当前SQL给出72条替代SQL方案 执行调优前的原始SQL语句和备选SQL语句,就可以找到最优性能的SQL语句。Benchmark SQL Alternatives可以批量执行待选SQL语句,以浅显的图表显示各个SQL的量化性能指标,帮助用户找到最适合的SQL语句方案。
17
应用开发解决方案
图:批量执行后,得出最佳方案是Alt #4,与原始SQL相比节省执行时间99%
18
应用开发解决方案
图:SQL Tunning与Benchmark Factory配合,进行“scalability”测试,得到并发条件下的最优SQL语句
4.4. Index Expert
Index Expert可以分析SQL语句的语法和SQL语句中表和表之间的关系,给出最适合的备选索引建议。所有建议的索引在做评估执行时,都不需要在数据库上真正建立,因此不会对数据库应用造成影响。
图:Index Expert给出7条虚拟索引建议
Index Expert推荐的索引,可以由Benchmark Index Alternatives进行执行比较,找出哪些索引需要在数据库中永久生成。
4.5. Cross Index Analysis
Cross Index Analysis可以分析一组SQL语句,找出这组SQL语句可以公用的索引,使得新增的索引更具通用性。
19
应用开发解决方案
图:Cross Index Analysis针对右侧的SQL组给出6条交叉索引建议
4.6. Outline Manager
Outline Manager可以重新组织Oracle数据库的存储大纲(stored outlines),在不改变SQL语句的情况下,使SQL语句按照用户的意图来执行。特别适用于对套装软件的SQL优化。
4.7. Plan Change Analyzer
Plan Change Analyzer通过记录多个SQL语句的执行计划和执行成本的改变,评估数据库配置调整对SQL语句的影响。用户既可模拟改变数据库配置,通过记录对一些SQL语句的影响,预测出数据库真实改变后可能引起的后果。又可以在数据库配置真实改变后,通过记录数据库SQL语句的执行计划和执行时间的改变,评估出对应用的影响。
20