SORU
24 Mayıs 2011, Salı


Varlık çerçevesi içinde geliştirmek bulk ınsert performans

Varlık çerçevesi tarafından bir tablo 20000 kayıtları eklemek istiyorum ve yaklaşık 2 dakika sürer. Herhangi bir şekilde SP performansını artırmak için kullanma. Bu benim kod:

 foreach (Employees item in sequence)
 {
   t = new Employees ();
   t.Text = item.Text;
   dataContext.Employees.AddObject(t);                  
 }
 dataContext.SaveChanges();

CEVAP
27 Mart 2013, ÇARŞAMBA


Çeşitli geliştirmeler DbContext kullanıyorsanız () için fırsat var:

Set:

yourContext.Configuration.AutoDetectChangesEnabled = false;
yourContext.Configuration.ValidateOnSaveEnabled = false;

100 ekler paketler halinde SaveChanges()... ... veya 1000 öğeleri paketleri ile deneyin ve performans değişiklikleri görebilirsiniz.

Tüm bu ekler, içeriği aynı ve daha büyük oluyor bu bağlamda her 1000 ekler nesneyi yeniden oluşturun. var yourContext = new YourContext(); büyük bir kazanç olduğunu düşünüyorum.

Benim veri alma işlemi bu iyileştirmeleri yapmak, 6 saniye 7 dakika sürdü.

Gerçek rakamlar... 100 o senin durumda 1000 olamazdı... bu da bir dene çimdik.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • LimeFire

    LimeFire

    2 ŞUBAT 2012
  • soyacincautv

    soyacincautv

    14 NİSAN 2010