ПОИСК
Быстрый заказ
ОЦЕНКА КУРСАобщая оценка курса:оценка преподавателя: Хочу скидку |
В программе «PostgreSQL 16. Оптимизация запросов» детально разбираются механизмы планирования и выполнения запросов, рассматривается настройка параметров экземпляра, связанных с производительностью, и изучаются возможности для поиска проблемных запросов и их оптимизации.
Программа является общей для разработчиков и администраторов; состоит из теоретической части и практики, включает демонстрацию работы на «живой» системе и выполнение практических заданий. Отличия от предыдущей версии программы:
Выберите форму обучения,
чтобы увидеть актуальные даты:
РАСПИСАНИЕ ЗАНЯТИЙ
|
|||||||||||||||||||||||
После изучения курса вы сможете
- Детально понимать механизмы планирования и выполнения запросов,
- Настраивать параметры экземпляра, связанные с производительностью,
- Выполнять поиск проблемных запросов и их оптимизацию.
Содержание курса
Демонстрационная база данных
Модуль 1. «Авиаперевозки»
- Цели и задачи.
- Предметная область и общая схема демобазы.
- Подробное описание объектов.
Выполнение запросов
Модуль 2. Планирование и выполнение
- Общие подходы к оптимизации.
- Простой протокол и этапы обработки запросов.
- Расширенный протокол.
- Подробнее о планировании.
Доступ к данным
Модуль 3. Методы доступа
- Последовательное сканирование (Seq Scan).
- Сканирование индекса (Index Scan).
- Сканирование по битовой карте (Bitmap Scan).
- Сканирование только индекса (Index-Only Scan).
- Сравнение эффективности методов доступа.
Модуль 4. Параллельный доступ
- Параллельные планы.
- Размер пула процессов.
- Параллельное последовательное сканирование.
- Параллельный индексный доступ.
Модуль 5. Типы индексов
-
Хэш-индекс.
- GiST (Generalized search tree).
- Класс операторов.
- SP- GiST (Space Partitioning GiST).
- GIN (Generalized Inverted Index).
- BRIN (Block Range INdex).
Сортировка и группировка
Модуль 6. Сортировка
-
Получение отсортированных данных.
- Сортировка в памяти.
- Внешняя сортировка.
- Инкрементальная сортировка.
- Сортировка в параллельных планах.
- Сортировка при построении индекса.
- Оконные функции с сортировкой.
Модуль 7. Группировка
- Применение группировки.
- Группировка хешированием.
- Группировка сортировкой.
- Комбинированная группировка.
- Группировка в параллельных планах.
- Оконные функции.
Способы соединения
Модуль 8. Соединение вложенным циклом
- Общие соображения о соединениях.
- Соединение вложенным циклом.
- Модификации: левые, полу- и анти- соединения.
- Вычислительная сложность.
- Вложенный цикл в параллельных планах.
Модуль 9. Соединение хешированием
- Последовательное соединение хэшированием: одно- и двухпроходное.
- Вычислительная сложность.
- Параллельное соединение хэшированием: одно- и двухпроходное.
Модуль 10. Соединение слиянием
- Алгоритм соединения слиянием.
- Вычислительная сложность.
- Соединение слиянием в параллельных планах.
Статистика
Модуль 11. Базовая статистика
- Базовая статистика.
- Наиболее частые значения и гистограммы.
- Статистика элементов составных значений
- Использование статистики для оценки кардинальности и селективности.
- Частные и общие планы выполнения.
- Частичный индекс и индекс по выражению.
Модуль 12. Расширенная статистика
- Функциональная зависимость.
- Наиболее частые комбинации значений.
- Число уникальных комбинаций значений.
- Статистика по выражениям.
Оптимизация запросов
Модуль 13. Профилирование
- Профилирование как инструмент для поиска узких мест.
- Выбор подзадачи для профилирования.
- Средства построения профиля.
Модуль 14. Материализация
- Материализация в запросах.
- Временные таблицы.
- Управление порядком соединений.
- Материализованные представления.
Модуль 15. Функции
- Категории изменчивости.
- Подстановка кода функции в текст запроса.
- Вызов табличных функций.
- Настройки COST и ROWS.
- Вспомогательные функции планировщика.
- Конфигурационные параметры.
Модуль 16. Подходы к настройке
- Что настраивать?
- Настройка сервера.
- Настройка приложения.
- Запросы.
Слушатели
- администраторов баз данных PostgreSQL;
- разработчиков баз данных PostgreSQL;
- специалистов, деятельность которых связана с администрированием и оптимизацией баз данных.
Предварительная подготовка
- знакомство с ОС Unix;
- уверенное владение SQL (знакомство с PL/pgSQL не обязательно, но полезно);
- знания и навыки PostgreSQL в объеме курса PP.16.DBA1 «Администрирование PostgreSQL 16. Базовый курс» или PP.16.DEV1 «Разработка серверной части приложений PostgreSQL 16. Базовый курс» (рекомендуется пройти обучение)