Чему вы научитесь
- Читать планы EXPLAIN (ANALYZE, BUFFERS) и находить узел, где возникает лишняя работа
- Проверять, что после оптимизации SQL возвращает тот же результат, и честно сравнивать время выполнения
- Проектировать составные, частичные, покрывающие и BRIN-индексы под реальные запросы
- Исключать размножение строк в JOIN и безопасно переписывать запросы с EXISTS, NOT EXISTS и агрегатами
- Реализовывать пагинацию по ключу вместо глубокого OFFSET и ускорять сортировку и отчёты
- Объяснять ошибки оценки строк планировщика: статистика, расширенная статистика, generic-планы и CTE
О курсе
Практикум по диагностике SQL-запросов на PostgreSQL 18. В программе — 40 самостоятельных расследований: чтение EXPLAIN, фильтры, индексы, JOIN, пагинация и статистика.
Рабочий черновик: материалы добавляются последовательно. Лабораторные выполняются локально; Stepik проверяет отдельные диагностические ответы. Полная серверная автопроверка лабораторных и подтверждение локальных отчётов пока не предусмотрены.
Необходимы базовые SELECT, JOIN, GROUP BY и понимание NULL. Установка Docker и PostgreSQL объясняется в подготовке.
Для кого этот курс
Начальные требования
Базовые SELECT, JOIN, GROUP BY и понимание NULL. Опыт работы с индексами не нужен. Нужен компьютер, на котором можно запустить Docker: установка Docker и PostgreSQL объясняется в подготовке.
Как проходит обучение
Курс состоит из 40 расследований: к каждому прилагается план запроса и вопросы по нему. Лабораторные выполняются локально в PostgreSQL 18, диагностические выводы проверяются тестами на Stepik. Сначала разбирается теория, затем кейс: что измерить, где лишняя работа и какое изменение безопасно.
Программа курса
В курс входят
- 42 урока
- 91 тест
Наши преподаватели
Что вы получаете
- 40 разобранных кейсов по диагностике запросов PostgreSQL
- 91 тест с проверкой диагностических выводов
- Умение доказывать эффект оптимизации, а не полагаться на ощущение скорости
- Локальный стенд для самостоятельных экспериментов