N+1 Problemi

Əli Ibishli
Jul 2, 2023

--

n+1 problemi, ORM (Object-Relational Mapping) ilə bağlı performans problemlərindən biridir. Bu problem, ORM vasitəsilə birdən çox əlaqəli obyektin məlumatlarının alınmasında ortaya çıxır. Bu prosesdə, birinci sorğu əsas obyektləri (n sayıda obyekt) alır və daha sonra hər bir obyekt üçün ayrı bir sorğu göndərilir (n+1 sorğu).

Nəticədə, tətbiqatın performansı aşağı düşür, çünki hər bir sorğu üçün ayrıca məlumat bazasına bağlanma tələb olunur və bu da zaman itkisinə səbəb olur. Əgər əlaqəli obyektlərdə çox sayda məlumat varsa, bu zaman itkilər daha da artır və tətbiqatın performansı daha da azalır.

Bu problemi həll etmək üçün bir neçə yol mövcuddur, məsələn, lazy loading (gecikdirilmiş yükləmə), eager loading (təcili yükləmə), join əməliyyatları və ya DTO (Data Transfer Object) istifadəsi. Bu yolların hər biri performans problemlərini azaltmaq və ya tamamilə aradan qaldırmaq üçün fərqli təcrübə və məqsədlərə uyğun ola bilər.

--

--

Əli Ibishli

Hello my name is Ali and l am a Java developer at 17 years old..