Встречается на собеседованиях • сегодня
Почему может производиться лишний запрос в базу
Распространённые причины лишних запросов в БД:
1. **N+1 проблема** - когда для каждой сущности из списка делается отдельный запрос:
```java
// Плохо: для каждого пользователя отдельный запрос за заказами
List users = userRepository.findAll();
users.forEach(user -> {
List orders = orderRepository.findByUser(user); // N запросов
});
```
2. **Отсутствие кэширования** - одинаковые данные запрашиваются многократно.
3. **Ленивая загрузка (Lazy Loading)** в ORM - когда связанные сущности загружаются при обращении к ним.
4. **Неправильный выбор стратегии загрузки** - EAGER вместо LAZY или наоборот.
5. **Циклы в бизнес-логике**, где на каждой итерации идёт запрос.
6. **Отсутствие пагинации** при работе с большими наборами данных.
7. **Неоптимальные JOIN'ы** в запросах, приводящие к дублированию данных.
Решение: использовать eager fetching, batch loading, кэширование, правильные стратегии загрузки и анализировать SQL-логи.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы