What is the “N+1 selects problem” in object relational mapping?

Имаш например две parent-child таблици. Например cars и models.

В cars ще имаме BMW, Opel, Mercedes, WV….

В models ще имаме моделите, закачени за всяка марка. Например за Опел ще имаме Кадет, Вектра, Омега и т.н…. За WV ще имаме Golf, Passat… и т.н….

Проблемът N + 1 се състои в това, че за да изциклим всички коли с техните модели, трябва да изпълним заявка за Cars, и за всеки от резултатите и да изпълним по една заявка за даден модел.

N e броят на итерациите на резултсета (броят модели).

1-то е главната, която е нужна, за да вземем тези N резултата (модели).

Струва ми се, че този проблем може да се реши с една заявка с LEFT JOIN.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *