Чему вы научитесь
- Объяснять, как физически устроены индексы (B-tree, Hash и другие) и почему поиск по индексу быстрее полного перебора
- Определять, когда индекс реально ускоряет запрос, а когда вредит — замедляет запись и занимает место впустую
- Читать планы выполнения EXPLAIN и EXPLAIN ANALYZE: отличать seq scan от index scan, видеть стоимость и реальное время
- Находить и устранять SQL-антипаттерны, из-за которых оптимизатор не может использовать индекс
- Оптимизировать медленные запросы: переписывать их, подбирать индексы и проверять результат замерами на данных в миллионы строк
- Применять транзакции и объяснять свойства ACID — почему данные остаются целыми даже при сбое посреди операции
- Выбирать уровень изоляции под задачу и распознавать аномалии: грязное, неповторяемое чтение и фантомы
- Объяснять работу блокировок и MVCC (многоверсионности) — почему читатели не блокируют писателей
- Сравнивать поведение механизмов в MySQL и PostgreSQL и осознанно переносить решения между СУБД
О курсе
Для кого этот курс
Начальные требования
Курс продвинутый — он рассчитан на тех, кто уже уверенно пишет SQL.
— Нужен уверенный SQL: сложные запросы, все виды JOIN, подзапросы и CTE, агрегация и группировка.
— Желательно понимать основы проектирования БД: таблицы, ключи, ограничения, базовый DDL.
— Полезны усидчивость и готовность экспериментировать: курс про механизмы, и многое становится понятным, только когда вы сами смотрите план выполнения и сравниваете замеры.
— Ничего устанавливать не нужно: SQL-задачи решаются и проверяются прямо на платформе на MySQL 8. PostgreSQL понадобится только для опциональных локальных 🐘-заданий — и только если захотите. Если со сложными запросами, подзапросами или проектированием базы вы пока не дружите, начните с предыдущих ступеней линейки: «SQL для аналитика: подзапросы, CTE и продвинутые функции», «SQL: оконные функции от и до» и «Проектирование и управление базами данных». После них этот курс зайдёт легко.
Преподаватели курса
Как проходит обучение
- Формат: 8 модулей, 41 урок и 397 шагов; короткая теория и разборы планов.
- Практика: 74 SQL-задачи с автопроверкой и 148 интерактивных заданий.
- Среда: MySQL 8, EXPLAIN, индексы, транзакции и реалистичные нагрузочные таблицы.
- Темп: свободный, без дедлайнов.
Сертификат
Что вы получите
- Востребованный навык уровня Middle: чтение планов, оптимизация запросов, индексы, транзакции, изоляция и MVCC — то, что реально спрашивают на собеседованиях и ждут на проде.
- Практику на реалистичной нагрузке: SQL-задачи с автопроверкой на демо-данных accounts и нагрузочных таблицах big_* в миллионы строк — оптимизацию вы отрабатываете на объёмах, похожих на боевые.
- Понимание сразу двух СУБД: механизмы разобраны и на MySQL, и на PostgreSQL, плюс опциональные 🐘-задания для углубления.
- Поддержку автора в комментариях и обсуждения под шагами: вопросы не остаются без ответа.
- Доступ в своём темпе — возвращайтесь к материалам и пересдавайте задания сколько нужно.
- Сертификат Stepik по итогам прохождения курса.
- Готовность двигаться выше по линейке — к VIEW, хранимым функциям, процедурам, триггерам и безопасности в курсе «Серверное программирование в MySQL».