Оптимизация SQL: индексы, EXPLAIN, query plans

0 задач Лёгкие, средние, сложные С эталонными решениями Решение в браузере
Performance — отличие Junior от Senior. Senior не просто пишет запрос — он смотрит EXPLAIN, понимает когда нужен индекс, когда — материализация. На собесе: «этот запрос тормозит, почему?», «как ускорить агрегацию по 100М строк?». 10 задач на оптимизацию.
Начать решать задачи →

Все задачи на «performance» (0)

FAQ: частые вопросы про performance

Что показывает EXPLAIN?

План выполнения запроса: какой алгоритм JOIN (hash/merge/nested loop), какие индексы используются, объём прочитанных данных. EXPLAIN ANALYZE дополнительно показывает реальное время.

Когда нужен индекс?

На колонках, по которым часто фильтруют (WHERE) или джоинятся (ON). НЕ нужен на маленьких таблицах (<10к строк). НЕ нужен если selectivity низкая (boolean на 50/50).

Чем материализованная VIEW отличается от обычной?

VIEW — это сохранённый запрос, выполняется каждый раз. MATERIALIZED VIEW — сохранённый результат, обновляется по расписанию или вручную. Быстрее при чтении, но устаревает.

Связанные темы SQL

Агрегации · JOIN-запросы · Оконные функции · CTE (Common Table Expressions) · Подзапросы · Работа с датами · Строковые функции · Условная логика

Открыть весь SQL-тренажёр (521 задач) →