Arkadaşlar merhaba, uzun süredir Laravel ile proje geliştiriyorum ama kafama takılan bir konu var. Özellikle ilişkisel verileri çekerken eager loading (with metodu) kullanmadığımda gerçekten büyük bir performans kaybı yaşar mıyım? Mesela bir blog projemde, yazıları listeletirken her yazının yazarını ve yorumlarını da göstermem gerekiyor. İlk başta N+1 sorununu biliyorum ama küçük verilerde çok takılmadım. Acaba 10-20 bin kayıtta işler değişiyor mu? Yoksa sadece büyük ölçekli projelerde mi dert oluyor? Kendi deneyimlerinizi merak ediyorum.
Geçenlerde bir arkadaşımın projesinde eager loading kullanmadığını gördüm, sorgu sayısı 200'ü geçiyordu. Ama sayfa yine de 2 saniyede açılıyordu. O yüzden "bu kadar da abartılacak bir şey değil" diye düşünmeye başladım. Tabi veritabanından cache mekanizması falan da yoktu. Sizce gerçek hayatta bu N+1 sorunu ne kadar kritik? Yoksa Redis veya benzeri bir cache katmanı işin içine girince eager loading'in önemi azalıyor mu? Ben genelde lazy loading kullanıyorum ama ileride tıkanma yaşar mıyım diye endişeleniyorum.
Bir de şu var: Bazen eager loading kullanırken gereksiz joın'ler yapıp veritabanını şişirdiğimi hissediyorum. Örneğin sadece iki yazının yazarını göstereceksem bile tüm yazarları çekmek anlamsız geliyor. Siz bu ikilemi nasıl çözüyorsunuz? Yani performans ile gereksiz veri yüklemek arasında nasıl bir denge kuruyorsunuz? Özellikle API geliştiren varsa tecrübelerini duymak isterim.
Geçenlerde bir arkadaşımın projesinde eager loading kullanmadığını gördüm, sorgu sayısı 200'ü geçiyordu. Ama sayfa yine de 2 saniyede açılıyordu. O yüzden "bu kadar da abartılacak bir şey değil" diye düşünmeye başladım. Tabi veritabanından cache mekanizması falan da yoktu. Sizce gerçek hayatta bu N+1 sorunu ne kadar kritik? Yoksa Redis veya benzeri bir cache katmanı işin içine girince eager loading'in önemi azalıyor mu? Ben genelde lazy loading kullanıyorum ama ileride tıkanma yaşar mıyım diye endişeleniyorum.
Bir de şu var: Bazen eager loading kullanırken gereksiz joın'ler yapıp veritabanını şişirdiğimi hissediyorum. Örneğin sadece iki yazının yazarını göstereceksem bile tüm yazarları çekmek anlamsız geliyor. Siz bu ikilemi nasıl çözüyorsunuz? Yani performans ile gereksiz veri yüklemek arasında nasıl bir denge kuruyorsunuz? Özellikle API geliştiren varsa tecrübelerini duymak isterim.