Oracle Database 10g: SQL Tuning Workshop
В курсе используется ряд практических работ, позволяющих слушателям осваивать материал в соответствии с их собственным уровнем знаний и скоростью восприятия материала. Слушатели научатся использовать диагностические средства и другие возможности сервера Oracle: EXPLAIN, SQL Trace, TKPROF и SQL*Plus Autotrace. Кроме того, они научатся воздействовать на поведение оптимизатора, изменяя физическую схему и модифицируя синтаксис SQL-операторов.
Слушатели получают навыки
- Описывать основные шаги при обработке SQL-операторов
- Описывать причины возникновения проблем производительности
- Понимать место настройки SQL-операторов в общей методике настройки
- Описывать автоматическую настройку SQL-операторов
- Использовать диагностические средства для сбора информации о выполнении SQL-операторов
- Понимать поведение оптимизатора
- Оказывать влияние на поведение оптимизатора
- Оказывать влияние на физическую модель данных для устранения проблем производительности
Аудитория
- Разработчики форм
- Разработчики приложений на языке Java
- Разработчики приложений на языке PL/SQL
- Технические консультанты
- Разработчики средств генерации отчетов
- Разработчики средств бизнес-аналитики
Программа курса
Архитектура сервера базы данных
- Обзор архитектуры сервера базы данных
- Шаги обработки SQL-операторов
- Важность уменьшения количества синтаксических разборов
- Использование переменных связывания
Методика настройки
- Причины возникновения проблем производительности
- Определение проблем производительности
- Использование методики настройки
Проектирование эффективных приложений
- Методика Oracle
- Масштабируемость
- Архитектура системы
- Принципы проектирования приложений
- Развертывание новых приложений
Введение в оптимизатор
- Функции оптимизатора Oracle
- Определение факторов, рассматриваемых оптимизатором при выборе планов выполнения
- Установка режима оптимизации на уровне экземпляра сервера и сеанса
- Использование динамической статистической выборки
Функционирование оптимизатора
- Планы выполнения
- Типы соединения
Вывод на экран планов выполнения
- Использование оператора EXPLAIN PLAN
- Интерпретация полученного вывода
- Интерпретация статистических данных, полученных при автотрассировке (AUTOTRACE)
Сбор статистических данных
- Использование пакета DBMS_STATS
- Статистические данные по таблицам, столбцам и индексам
- Построение гистограмм
Трассировка приложений
- Пакет Statspack
- Сквозная трассировка
- Активизация средств трассировки SQL (SQL Trace)
- Установка соответствующих параметров инициализации
- Форматирование трассировочных файлов с помощью утилиты TKPROF
- Интерпретация вывода утилиты TKPROF
Определение высокой нагрузки на SQL-операторы
- Использование различных способов определения высокой нагрузки на SQL-операторы Средства ADDM (Automatic Database Diagnostic Monitor, монитор автоматической диагностики сервера базы данных)
- SQL-операторы с высокой нагрузкой (Top SQL)
- Динамические представления производительности
- Пакет Statspack
Автоматическая настройка SQL-операторов
- Режимы оптимизатора запросов
- Типы автоматического анализа SQL-операторов
- Консультант SQL Tuning Advisor (консультант по настройке SQL-операторов)
- Наборы SQL Tuning Sets (наборы для настройки SQL-операторов)
- Интерфейс Top SQL (SQL-операторы с высокой нагрузкой)
Введение в индексы
- Определение способов доступа к строкам
- Создание индексов на основе B-деревьев
- Понимание доступа с использованием B-деревьев и слияние индексов
- Дополнительные возможности индексирования
- Использование битовых индексов
- Использование индексов по ключам-функциям
Подсказки оптимизатору и стабильность планов выполнения
- Использование подсказок
- Цель и преимущества стабильности плана выполнения
Материализованные представления и временные таблицы
- Использование операторов CREATE MATERIALIZED VIEW
- Применение перезаписи запросов
Практикум
- Совместное использование ресурсов
- Считывание переменных связывания
- Автоматическое управление памятью
- Использование индексов в планах выполнения
- Пакет DBMS_MONITOR
- Влияние выражений на использование индексов
- Операции сортировки, агрегирования и над множествами
- Функции группировки и предложение Order By
- Автоматическая и ручная настройка
- Соединения
- Материализованные представления