Что такое
N+1 проблема в ORM?Ответ: Это ситуация, когда при загрузке списка объектов ORM делает один запрос на основную таблицу, а затем отдельный запрос для каждой связанной записи. В итоге вместо одного объединённого запроса выполняется N+1 запросов, где N — количество объектов.
Например: при получении 10 пользователей с их профилями, ORM сначала делает 1 запрос на пользователей, а потом 10 отдельных запросов на профили — по одному на каждого. Это резко снижает производительность.
Эту проблему решают с помощью предварительной выборки (например, select_related, joinedload, prefetch_related и т.д.).
tags: #собеседование
➡ SQL Community | Чат