Частая причина — N+1: один запрос получает список, затем для каждого элемента выполняется похожий запрос связи. Но повторяющиеся SQL в логах сами по себе ещё не доказывают этот диагноз.
[имя] спрашивает, как называется проблема, если в логах БД видно много похожих запросов, и как её исправить?
Частая причина — N+1: один запрос получает список, затем для каждого элемента выполняется похожий запрос связи. Но повторяющиеся SQL в логах сами по себе ещё не доказывают этот диагноз.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Частая причина — N+1: один запрос получает список, затем для каждого элемента выполняется похожий запрос связи. Но повторяющиеся SQL в логах сами по себе ещё не доказывают этот диагноз.
Сопоставьте запросы с одним пользовательским сценарием и количеством объектов. Для ORM используйте подходящую предварительную загрузку связей, batch-запросы или агрегацию. Повторы также могут появиться из-за retries, polling или дублирующихся вызовов, и их исправляют иначе. После изменения проверяют не только число запросов, но и строки, память и длительность. Один огромный JOIN не всегда лучше нескольких контролируемых выборок.