В рамках курса слушатели получат необходимые знания и умения для эффективной настройки операторов SQL, используемых в сервере Oracle9i, получат исчерпывающее концептуальное понимание оптимизаторов по правилам и по стоимости, и закрепят его практическими работами проводимыми под руководством инструктора.
Слушатели научатся использовать диагностические средства и другие возможности Oracle: EXPLAIN, SQL Trace, TKPROF и SQL*Plus Autotrace, воздействовать на поведение оптимизатора, изменяя физическую схему (различные типы индексов, подсказки оптимизаторы) или модифицируя синтаксис оператора SQL.
Слушатели
Системные аналитики, разработчики, проектировщики, администраторы и персонал служб сопровождения.
Предварительная подготовка
Требуется знание языков SQL и PL/SQL, принципов реляционных баз данных, различных типов объектов баз данных. Рекомендуется прослушать курс «Введение в Oracle9i: язык SQL» и «Программирование на языке Oracle9i PL/SQL».
Желательно иметь опыт работы в среде Oracle шесть месяцев и более.
Содержание курса
- Введение в настройку:
- Описание причин проблем производительности
- Определение проблем производительности
- Использование методологии настройки
- Описание шагов настройки SQL
- Обработка оператора SQL:
- Описание шагов обработки оператора SQL
- Определение методики минимизации синтаксического разбора
- Использование связанных переменных
- Структуры памяти Oracle:
- Обзор
- Автоматическое управление памятью SQL
- SQL*Plus AUTOTRACE:
- Использование команды EXPLAIN PLAN
- Определение синтаксиса AUTOTRACE
- Интерпретация вывода EXPLAIN
- Интерпретация статистик AUTOTRACE
- SQL Trace and TKPROF:
- Как использовать SQL Trace
- Установка соответствующих параметров инициализации
- Форматирование трассировочных файлов с помощью TKPROF
- Интерпретация вывода TKPROF
- Сравнение RBO и CBO:
- Определение оптимизации по правилам
- Определение оптимизации по стоимости
- Понятие стоимости плана выполнения
- Введение в индексы:
- Определение методов доступа к строке
- Создание B*-Tree индексов
- Понимание доступа с использованием B*-Tree индексов и слияние индексов
- Сбор статистик:
- Использование команды ANALYZE
- Определение статистик по таблицам, столбцам и индексам
- Использование пакета DBMS_STATS
- Построение гистограмм
- Воздействие на оптимизатор:
- Установка соответствующих параметров инициализации
- Использование команды ALTER SESSION
- Использование подсказок оптимизатору
- Сортировка и соединение:
- Рекомендации по сортировке
- Использование Top-N SQL
- Соединения вложенными циклами
- Соединения сортировкой/слиянием
- Внешние соединения
- Соединения типа «звезда»
- Хэш соединения
- Стабильность плана выполнения:
- Цель и преимущества стабильности плана выполнения
- Создание хранимых планов выполнения
- Использование пакета OUTLN_PKG
- Дополнительные возможности индексов:
- Создание битовых индексов
- Создание функциональных индексов
- Оптимизация соединения типа «звезда» с помощью преобразования типа «звезда»
- Материализованные представления и временные таблицы:
- Использование синтаксиса CREATE MATERIALIZED VIEW
- Использование перезаписи запроса
- Создание и использование временных таблиц
- Альтернативные техники хранения:
- Создание индекс-организованных таблиц
- Создание индексных кластеров
- Создание хэш кластеров
- Рассмотрение возможностей по работе с хранилищами данных:
- Предложение WITH
- Многотабличный INSERT
- Оператор MERGE
- Практикум

