spinner-it

Оптимизация SQL запросов для разработчиков

В курсе рассматриваются различные методы исследований, которые охватывают несколько уровней детализации выполнения базой данных Oracle операторов SQL. Рассмотрены различные способы, при помощи которых осуществляется доступ к данным и которые имеют различную эффективность в зависимости от окружающей обстановки. Также изучаются имеющиеся у пользователей возможности, позволяющие убедиться в том, что оптимизатором выбран наилучший способ доступа к данным. Затронуты темы секционирования, изучаются преимущества, которые может дать использование подсказок оптимизатору, переменных связывания и различных типов индексов.

Аудитория

  • разработчики приложений;
  • разработчики хранилищ данных;
  • технические консультанты;
  • специалисты служб технической поддержки.

По окончании курса

  • После успешного усвоения материала этого курса слушатели научатся
  • идентифицировать проблемные операторы SQL;
  • выполнять модификацию операторов SQL с целью оптимизации их выполнения;
  • выполнять трассировку приложений;
  • понимать, почему оптимизатор запросов принимает те или иные решения при выборе путей доступа к данным;
  • интерпретировать планы выполнения;
  • эффективно использовать подсказки оптимизатору;
  • создавать нагрузочные тесты

Модуль 1: Изучение архитектуры базы данных Oracle

  • Обзор архитектуры сервера базы данных Oracle
  • Обзор структур оперативной памяти сервера базы данных Oracle
  • Роль фоновых процессов
  • Автоматическое управление разделяемой памятью
  • Автоматическое управление памятью выполняемых операторов SQL
  • Автоматическое управление памятью
  • Архитектура внешней памяти базы данных
  • Логические и физические структуры базы данных Oracle

Модуль 2: Введение в процесс настройки операторов SQL

  • Причины неэффективного выполнения операторов SQL
  • Имеющиеся программные решения по отслеживанию текущей производительности
  • Обзор утилит, предназначенных для мониторинга и настройки производительности
  • Страницы производительности Enterprise Manager, предназначенные для настройки в ответ на снижение производительности
  • Настройка производительности с учетом разделения времени реакции на время потребления CPU и время ожидания
  • Масштабируемость и ее взаимосвязь с дизайном, реализацией и конфигурированием приложения
  • Наиболее распространенные ошибки, допускаемые при проектировании и программировании приложений
  • Методология упреждающей настройки производительности

Модуль 3: Введение в оптимизатор запросов

  • Структурированный язык запросов (SQL)
  • Обзор представления оператора SQL, его реализации и выполнения
  • Синтаксический анализ оператора SQL: обзор
  • Для чего нужен оптимизатор?
  • Шаги оптимизации во время операции жесткого разбора (hard parse)
  • Оптимизатор по стоимости (Cost-Based Optimizer – CBO)
  • Контроль поведения оптимизатора
  • Функциональные возможности оптимизатора и их зависимость от выпуска базы данных Oracle

Модуль 4: Типы операций доступа, выбираемые оптимизатором

  • Определение способов доступа к строкам
  • Основные структуры данных и пути доступа
  • Полный просмотр таблицы
  • Индексы: обзор
  • Использование индексов; влияние столбцов, для которых допустимы неопределенные значения (NULL)
  • Битовые индексы, составные и невидимые индексы
  • Рекомендации по использованию и управлению индексами
  • Кластеры

Модуль 5: Интерпретация плана выполнения

  • Что такое план выполнения
  • Взаимосвязи между наиболее важными динамическими представлениями производительности
  • Автоматизированный репозиторий рабочей нагрузки AWR
  • Создание отчета о выполненных операторах SQL на основе данных AWR
  • Обзор мониторинга операторов SQL
  • Чтение более сложных планов выполнения
  • Повторный просмотр плана выполнения
  • Взгляд на то, что происходит по ту сторону плана выполнения (что по сути стоит за планом выполнения)

Модуль 6: Учебный пример: преобразование типа “звезда”

  • Модели схемы данных типа “звезда” и “снежинка”
  • План выполнения без преобразования типа “звезда”
  • Получение строк из таблицы фактов с ее соединением с одной и всеми таблицами измерений
  • Соединение промежуточного результирующего набора строк с таблицами измерений
  • Использование битовых индексов соединений (Bitmap Join Indexes)

Модуль 7: Статистики оптимизатора

  • Описание статистик оптимизатора и типы статистик
  • Обзор статистики по группе столбцов
  • Обзор статистик по выражению
  • Сбор системных статистик
  • Предпочтения статистик: обзор
  • Обзор динамической выборки, осуществляемой оптимизатором (Optimizer Dynamic Sampling)
  • Блокировка статистик

Модуль 8: Использование переменных связывания (bind variables)

  • Разделение курсоров и различные значения литералов
  • Разделение курсоров и переменные связывания
  • Усовершенствования в механизме разделения курсоров
  • Обзор адаптивного разделения курсоров
  • Взаимодействие с механизмом адаптивного разделения курсоров

Модуль 9: Использование подсказок оптимизатору

  • Обзор подсказок оптимизатору
  • Типы подсказок оптимизатору
  • Указание подсказок в операторах SQL
  • Правила использования подсказок оптимизатору
  • Рекомендации по использованию подсказок
  • Категории подсказок оптимизатору
  • Подсказки, указывающие цели оптимизации и используемые подходы
  • Дополнительные подсказки оптимизатору

Модуль 10: Трассировка приложения

  • Проблема сквозной трассировки приложения
  • Местоположение диагностических трассировочных файлов
  • Что такое служба (service)?
  • Использование служб совместно с пользовательскими приложениями
  • Трассировка собственного сеанса
  • Содержимое трассировочного файла, созданного при помощи средства SQL Trace
  • Форматирование трассировочных файлов SQL Trace: обзор
  • Запуск утилиты TKPROF

Модуль 11: Автоматизация настройки операторов SQL

  • Автоматическая настройка операторов SQL
  • Проблемы, связанные с трассировкой приложений
  • Обзор консультанта по настройке операторов SQL (SQL Tuning Advisor)
  • Устаревшая или отсутствующая статистика объектов
  • Профилирование операторов SQL
  • Технологический процесс настройки плана выполнения оператора SQL и создание его профиля
  • Панель управления Database Control и консультант SQL Tuning Advisor
  • Приведение в действие выданных рекомендаций
  • Слушатели должны иметь знания в объеме курса «Основы SQL». Опыт использования SQL желателен.

Запись на курс

Код курсаEA-11gTSQL
Длительность4д (32ч)
Код экзамена
Стоимость без НДС24 000 грн.

У зв'язку з карантином всі наші курси читаються у online-форматі.