Встречается на собеседованиях • сегодня
Что такое проблема N+1
Проблема N+1 возникает, когда для получения связанных данных выполняется один основной запрос, а затем N дополнительных запросов для каждой записи из основного результата. Это приводит к неоптимальной работе приложения.
Пример с React и GraphQL:
```jsx
// Плохо: запрашиваем пользователей, затем отдельно их заказы
const { data: users } = useQuery(GET_USERS);
users.map(user => (
{user.name}
// Внутри Orders свой запрос GET_ORDERS
));
```
Решение - загружать связанные данные одним запросом:
```graphql
query GetUsersWithOrders {
users {
id
name
orders {
id
total
}
}
}
```
Проблема характерна для ORM, GraphQL, REST API. Оптимизировать можно через:
- Жадную загрузку (eager loading)
- Пакетные запросы
- Даталоадеры (GraphQL)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы