Что такое N+1 проблема?

Ответ

1 findAll() + N доп. запросов на lazy-коллекции. Решения: JOIN FETCH, @EntityGraph, @BatchSize(100), DTO-проекция. EAGER — неправильный ответ.

Разбор: N+1 — это 1 запрос на родительскую коллекцию плюс N дополнительных запросов на lazy-связи при итерации; решается JOIN FETCH, @EntityGraph, @BatchSize или DTO-проекцией. Дистракторы подменяют тему: индекс на FK ускоряет каждый запрос, но не меняет их количество; EAGER не решение, а способ получить тот же N+1 неявно; batch_size относится к вставкам, а не к чтению связей.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться