Mam takie tabele: Products, Reviews, ReviewComments, Customers, ProductRates, ProductPhotos. Chcę pobrać produkt o danym ID z recenzjami (wraz z nazwiskami autorów), komentarzami do tych recenzji (również z danymi autorów), ocenami (aby sprawdzić, czy użytkownik nie ocenił już produktu, a jeśli tak, to jakoś to zasygnalizować w UI), zdjęciami (właściwie to metadanymi) i pewnie jeszcze z kilkoma rzeczami, o których na razie nie wiem.
I tak: zapytanie pobierające wszystkie te dane składałoby się z 6 joinów, z których 4 byłyby typu one-to-many. Mam wrażenie, że wykonywanie pojedynczych zapytań zamiast jednego dużego byłoby prostsze, ale nie wiem, co się stanie z wydajnością. Tu ktoś pisze, że w przypadku MySQL:
For inner joins, a single query makes sense, since you only get matching rows. For left joins, multiple queries is much better... look at the following benchmark I did
Jak to wygląda dla SQL Server i EF Core?