En iyi yanıtlayıcılar
Entity framework ile ilgili hız sorunu

Soru
-
Merhaba. Entity framework ile veritabanından verileri çekiyorum. (postgrsql) Veri çok fazla (15 bin) tüm tabloyu çekdiyimde aynı, şart belirtdiyimde aynımı? Yani önce tüm verileri çekiyor sonra belirtdiyim şarta göre filtirliyor böylemi? Daha mantıklı nasıl verileri çeke bilirim ki, hız çok düşmüsin? Yoksa bu kadar veriye göre normal? (6-8 saniye)
var list = (from k in ctx.tablo.select new { k.id, k.barcode, k.productname, k.miqdar, k.vahid, k.fiyat, k.category.categoryname }).AsEnumerable().Select((p, index) => new { no = index + 1, p.id, p.barcode, p.productname, p.miqdar, p.vahid, p.fiyat, p.categoryname, });
- Düzenleyen vusal.nurehmedov 25 Şubat 2020 Salı 12:19
Yanıtlar
-
IQueryable için LINQ sorguları hedef provider'a göre dönüştürülür. Yani tümünü çekmez. Fakat, örnekde bir filtreleme işi yok. Şüphe duyduğunuz sorguyu paylaşabilir misiniz?
- Yanıt Olarak İşaretleyen vusal.nurehmedov 26 Şubat 2020 Çarşamba 11:35
-
Cihan'in dediği gibi, senin yaptiginde bir filtreleme yok. 15 bin kayıt icin 6-8 sn suresi tamamen bu sorgunun calistigi makineye ve sorgunun işlendiği server bağlı. Yani senin ortamında 6-8 sn sürebilir, benim ortamımda 4-5sn ya da 9-10 sn. RAM, disk hızları, network ... bir suru etkileyen şartlar var.
Oncelikle, backende gönderdiğin komutun ne olduguna bak. Baslibasina onu kullanarak hızlara bak. Entity framework'un hiz saglamadigini, oyle bir amaci olmadigini (hatta daha yavaş oldugunu) unutma. Yazim kolayligi sağlamasına karşın arka planda gereksiz görünebilecek bir suru database komutu calistiriyor.
Her şey bir yana, neden 15 bin satirlik tablonun tamamini çekiyorsun ki.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen vusal.nurehmedov 26 Şubat 2020 Çarşamba 11:35
Tüm Yanıtlar
-
IQueryable için LINQ sorguları hedef provider'a göre dönüştürülür. Yani tümünü çekmez. Fakat, örnekde bir filtreleme işi yok. Şüphe duyduğunuz sorguyu paylaşabilir misiniz?
- Yanıt Olarak İşaretleyen vusal.nurehmedov 26 Şubat 2020 Çarşamba 11:35
-
15 bin satirlik verini entity framework ile 6-8 saniyeye çekme normalmı? Tüm tabloyu?
ToList yaparasam o zaman şarta bakmadan tüm tabloyu çekicek öylemi doğrumu anladım?
- Düzenleyen vusal.nurehmedov 25 Şubat 2020 Salı 12:47
-
Cihan'in dediği gibi, senin yaptiginde bir filtreleme yok. 15 bin kayıt icin 6-8 sn suresi tamamen bu sorgunun calistigi makineye ve sorgunun işlendiği server bağlı. Yani senin ortamında 6-8 sn sürebilir, benim ortamımda 4-5sn ya da 9-10 sn. RAM, disk hızları, network ... bir suru etkileyen şartlar var.
Oncelikle, backende gönderdiğin komutun ne olduguna bak. Baslibasina onu kullanarak hızlara bak. Entity framework'un hiz saglamadigini, oyle bir amaci olmadigini (hatta daha yavaş oldugunu) unutma. Yazim kolayligi sağlamasına karşın arka planda gereksiz görünebilecek bir suru database komutu calistiriyor.
Her şey bir yana, neden 15 bin satirlik tablonun tamamini çekiyorsun ki.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen vusal.nurehmedov 26 Şubat 2020 Çarşamba 11:35