Forum

Bildirimler
Hepsini Temizle

c# Linq

4 Yazılar
4 Üyeler
0 Likes
648 Görüntüleme
(@muratguler)
Gönderiler: 313
Honorable Member
Konu başlatıcı
 

Merhaba 

Yazılan bir programda linq sorgusunun çalışması biraz uzun zaman alıyor. Bu zamanı nasıl kısaltabilirim ? 

 

Teşekkürler

 
Gönderildi : 23/06/2017 19:39

(@volkanalkilic)
Gönderiler: 137
Estimable Member
 

Bu süreleri kısaltacak sihirli bir değnek yok maalesef. Sorugunuzu paylaşırsanız bir kaç optimizasyon ve revizyon önerebilirim.

 
Gönderildi : 23/06/2017 19:51

(@yalcingormez)
Gönderiler: 7
Active Member
 

Sorgunuzun uzun sürmesinin birkaç nedeni olabilir;

  • Sunucudaki yoğunluk
  • Veritabanı yapısında çok fazla ilişki olması
  • Veritabanı üzerinde çok fazla veri olması
  • Sorguların optimizasyonunun yapılmamış olması

Sorgu optimizasyonunu en basit haliyle açmak gerekirse, sorguda kullandığınız filtrelerin önce hangisinin işleneceği hızı etkileyebilir. Ard arda 2 filtre kullanıyorsanız örneğin önce üyeler tablosunda aktif olanları, sonra ismi Yalçın olanları getiriyorsunuz diyelim. 1 milyon kayıt içinde IsActive=true diye filtreleme yaptığınızda 999.900 kayıt dönüyorsa ardından ismi Yalçın olanları getirdiğinizde 10.000 kayıt dönüyorsa, siz önce isim filtresini uygulamalısınız. Bu sayede ilk gelen veri azalmış olacak, ikinci filtre için daha az satırda arama yapacaktır.

 
Gönderildi : 30/06/2017 18:15

(@SezenGUNGOR)
Gönderiler: 16
Eminent Member
 

Sorgunuzun uzun sürmesinin birkaç nedeni olabilir;

  • Sunucudaki yoğunluk
  • Veritabanı yapısında çok fazla ilişki olması
  • Veritabanı üzerinde çok fazla veri olması
  • Sorguların optimizasyonunun yapılmamış olması

Sorgu optimizasyonunu en basit haliyle açmak gerekirse, sorguda kullandığınız filtrelerin önce hangisinin işleneceği hızı etkileyebilir. Ard arda 2 filtre kullanıyorsanız örneğin önce üyeler tablosunda aktif olanları, sonra ismi Yalçın olanları getiriyorsunuz diyelim. 1 milyon kayıt içinde IsActive=true diye filtreleme yaptığınızda 999.900 kayıt dönüyorsa ardından ismi Yalçın olanları getirdiğinizde 10.000 kayıt dönüyorsa, siz önce isim filtresini uygulamalısınız. Bu sayede ilk gelen veri azalmış olacak, ikinci filtre için daha az satırda arama yapacaktır.

Peki JOIN'lerde öncelik sırasını nasıl belirleriz ?

 
Gönderildi : 07/07/2017 20:32

Paylaş: