Чему вы научитесь
- Понимать, как СУБД выполняет SQL-запрос и из чего складывается его стоимость
- Читать EXPLAIN и EXPLAIN ANALYZE, находить дорогие операции и расхождения между оценками и фактическим выполнением
- Разбираться в устройстве B+Tree-индексов, кластерных и вторичных индексов
- Проектировать составные и покрывающие индексы под конкретные запросы
- Определять, почему индекс не используется или не даёт ожидаемого ускорения
- Оптимизировать фильтрацию, JOIN, подзапросы, CTE, GROUP BY, ORDER BY, LIMIT и оконные функции
- Сокращать объём обрабатываемых данных и устранять лишние операции в запросах
- Понимать особенности работы с большими таблицами, пагинацией и партиционированием
- Разбираться в транзакциях, MVCC, уровнях изоляции и их влиянии на производительность
- Находить причины блокировок, lock wait и deadlock
- Искать медленные и ресурсоёмкие запросы с помощью slow query log, Performance Schema и sys
- Проверять результат оптимизации по фактическим показателям до и после изменений
О курсе
Для кого этот курс
Начальные требования
— Уверенное знание базового SQL: SELECT, WHERE, GROUP BY, JOIN, подзапросы
— Понимание структуры реляционных таблиц и связей между ними
— Базовый опыт работы с любой СУБД будет плюсом
Преподаватели курса
Как проходит обучение
Основа курса — подробная понятная теория по индексам, устройству выполнения запросов и оптимизации SQL, а также производительности баз данных. Каждая тема раскрывается в отдельном текстовом уроке с примерами запросов, планов выполнения и пояснениями.
После теоретических блоков идут тестовые задания для закрепления материала. Для получения практического опыта в курсе предусмотрены задачи на чтение и расшифровку планов выполнения, анализ работы индексов и оптимизацию SQL-запросов.
Сертификат
Что вы получите
- Глубокое понимание того, как выполняются SQL-запросы и какие факторы влияют на их производительность.
- Навык чтения и анализа планов выполнения, работы с индексами и поиска причин медленной работы запросов.
- Практический опыт оптимизации SQL-запросов, сравнения разных вариантов и проверки результата по фактическим показателям.
- Системные знания по индексам, транзакциям, MVCC, блокировкам, партиционированию и диагностике производительности баз данных.
- Навыки, которые можно использовать в работе аналитика, BI-специалиста, разработчика и инженера данных, а также при подготовке к техническим собеседованиям.
- Поддержку преподавателя, автоматическую проверку заданий и возможность обсуждать вопросы с другими участниками курса.
- Итоговый сертификат о прохождении курса.