Automatic SQL Tuning тесно связана с оптимизатором запросов. Это дает несколько преимуществ:
Фактически Automatic SQL Tuning основана на усовершенствованной версии оптимизатора запросов. Обычный оптимизатор запросов был усовершенствован в Oracle 10g для выполнения дополнительного анализа перед процессом построения плана выполнения SQL-предложения. Мы будем называть такое состояние оптимизатора запросов, как Automatic Tuning Optimizer, для того, чтобы отличать это состояние от стандартного. Оптимизатор запросов (в обычном состоянии) имеет строгие ограничения на время и системные ресурсы, которые он может использовать для поиска наилучшего плана выполнения заданного SQL-предложения. Приемлемое время оптимизации обычно меньше секунды и не больше, чем несколько секунд. Из-за этого строгого требования оптимизатор может выполнять лишь ограниченный план поиска, используя эвристику тогда и только тогда, когда это может сократить время на оптимизацию. Следовательно, оптимизатор запросов не может выполнить трудоемкий анализ и этапы проверки перед процессом генерации плана.
Напротив, выполнение Automatic Tuning Optimizer обычно занимает намного больше времени, обычно несколько минут для того чтобы выполнить необходимые исследования и этапы проверки, как части процесса настройки. Таким образом, Automatic Tuning Optimizer имеет гораздо более высокую вероятность сгенерировать хорошо отлаженный план. Automatic Tuning Optimizer использует динамический отбор и частичное выполнение (то есть, выполнение фрагментов SQL-предложений), для проверки собственной оценки стоимости, избирательности и кардинального числа (cardinality). Он также использует предысторию выполнения SQL-предложений для определения оптимальных параметров настройки (например, режима оптимизатора).
Функциональные возможности Automatic Tuning Optimizer реализуются при помощи советчика SQL Tuning Advisor. SQL Tuning Advisor принимает SQL-предложение и передает его наряду с другими входными параметрами в Automatic Tuning Optimizer. Потом Automatic Tuning Optimizer выполняет четыре типа анализа в процессе генерации плана.
Функциональные возможности Automatic Tuning Optimizer доступны через советчика, названного SQL Tuning Advisor. SQL Tuning Advisor принимает SQL-предложение и передает его наряду с другими входными параметрами в Automatic Tuning Optimizer. Потом Automatic Tuning Optimizer выполняет четыре типа анализа в процессе генерации плана.