Oracle 中的SQL概要和自动调整优化器(Automatic Tuning Optimizer)
从Oracle 10g起,可以将SQL调优的工作委派给一个被称为自动调整优化器(Automatic Tuning Optimizer)的查询优化器扩展来做。它和查询优化器同属于一个组件而且无法在第一时间得到高效的执行计划。查询优化器被强制必须以最快的速度产生执行计划,典型的在秒级以内。而自动调整优化器可以花较长的时间产生一个高效的执行计划。另外,它还可以使用一些耗时的技术如假设分析,并加强对动态采样技术的利用来核实它的估计值。
自动调整优化器是通过SQL调优建议器(SQL Tuning Advisor)暴露给外界使用的。它的目的是分析SQL语句并建议如何使用一些方法来提高语句的性能,包括收集遗漏的或过时的对象统计,创建新索引,改变SQL语句或采用SQL概要。
SQL概要只能通过SQL调优建议器来创建。
什么是SQL概要?
SQL概要是一个对象,它包含了可以帮助查询优化器为一个特定的SQL语句找到高效执行计划的信息。这些信息包括执行环境、对象统计和对查询优化器所做评估的修正信息。它的最大特点之一就是在不修改SQL语句和会话执行环境的情况下影响查询优化器的决定。换句话说,它对连接到数据库引擎的应用程序是透明的。
生成SQL概要的主要步骤如下: