В этой статье мы описали управляющий компонент Automatic SQL Tuning, который был добавлен в Oracle 10g. Automatic SQL Tuning обеспечивает автоматическую настройку SQL-предложений в виде набора всесторонних рекомендаций по настройке. Он тесно связан с оптимизатором запросов. Фактически, оптимизатор запросов работает в режиме автоматической настройки и генерирует рекомендации по настройке. Когда это потребуется, он также может сформировать SQL Profile в дополнение к рекомендациям. Пользователь может выбрать осуществляемые рекомендации, включая SQL Profile. Однажды созданный SQL Profile будет использоваться оптимизатором запросов для генерирования хорошо отлаженных планов для соответствующего SQL-предложения. Объект настройки, вызвавший SQL Tuning Set, представляется для осуществления возможности пользователя создавать собственную SQL-нагрузку для целевой настройки. Интерфейс для Automatic SQL Tuning был создан, используя Enterprise Manager, с возможностями выбора из разных SQL-источников и настройки SQL-предложений с различными возможностями настройки. Мы завершаем эту статью, показав, как существенно Automatic SQL Tuning упрощает процесс настройки. Общая проблема наблюдений – это снижение эффективности SQL-предложений во время работы, так как через какое-то время увеличивается количество данных. Для SQL-предложений, внедренных в пакетные приложения, следующая таблица сравнивает шаги настройки SQL, выполняемые в Oracle 9i и Oracle 10g.
Шаги
Oracle 9i
Oracle 10g
1
Получение плана выполнения
Запускает SQL Tuning Advisor
2
Проверка объектов запроса и их размер
Выполнение рекомендаций
3
Просмотр и сравнение статистики плана выполнения со статистикой выполнения (сохраняется в представлении V$SQL)
4
Идентификация как будто это проблема “first rows”, потому что отображаются только недавние данные, несмотря на запрос к давней хронологии
5
Контакт с производителем приложения
6
Подготовка тестового варианта для производителя
7
Получение от производителя исправления “first rows”
8
Установка исправления в следующем цикле обслуживания
Как выше показано в таблице, усилия и время, потраченные экспертом-настройщиком на эту довольно обычную задачу в Oracle 9i, значительно больше по сравнению с Oracle 10g. Кроме того, в Oracle 9i клиент для исправления должен ждать [реакции] производителя приложения, что может занять недели и месяцы, тогда как в Oracle 10g разрешение проблем [следует] немедленно. Automatic SQL Tuning предлагает для настройки приложений комплексные, легкие в использование решения, которые могут одинаково эффективно быть использованы, как новичком, так и опытным пользователем.