21 Aralık 2022 Çarşamba

AsSplitQuery

Student ve Course sınıfları arasında one - to - many ilişki olduğunu düşünelim.

Split Query Kullanmazsak;
yukarıdaki sorgu için veritabanına  Course ve Student sınıflarının joinlemiş halde tek bir sorgusu gidecektir.




result olarakda;

Burada join kullanıldıgı zaman kartezyen çarpım oluşur ve geriye joinlemiş bir result döner. Bu join maliyetinden kurtulmak için AsSplitQuery kullanılabilir.


Split Qery Kullanırsak

Yukarıdaki gibi kullanırsak EF Core 2 adet query oluşturcak.
İlk query sadece Course ile ilgili dataları çekecek
ikinci query ise sadece Student ile ilgili dataları çekecek.





Gördüğümüz gibi, SpliQuery ile Course"Name" yalnızca bir kez döndürüldü. Bu, daha fazla sütun ve daha fazla ilişki içeren daha complex sorgularımız olsa bile, verilerin tekrarlanmayacağını ve bunun da çok daha performanslı bir sorgu ile sonuçlanacağı anlamına gelir.


Query olarak Split Query Ekleme




Global olarak Split Query Ekleme

REFERENCE

Hiç yorum yok:

Yorum Gönder