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