Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Büyük miktardaki veriyi veritabanına eklemek

Konu, 'C#' kısmında hanzele tarafından paylaşıldı.

  1. hanzele

    hanzele Üye

    Kayıt:
    15 Şubat 2009
    Mesajlar:
    65
    Beğenilen Mesajlar:
    0
    Şehir:
    İzmir
    Merhaba arkadaşlar, c# ve Sql Server ile ilgili bir soru sormak istiyorum

    Elimde xls formatında 550 adet dosya var ve bu dosyaların her birinde 20.000 kayıt bulunuyor.

    ben bu kayıtları mevcut yöntemle veritabanına ekliyorum ama ortalama 1,5 ile 2 saat arasında bir zaman alıyor.

    Benim sormak istediğim bunu hızlandırmanın bir yolu varmı, nasıl yapabilirim ?
     
  2. wurucu

    wurucu Üye

    Kayıt:
    28 Ağustos 2008
    Mesajlar:
    138
    Beğenilen Mesajlar:
    7
    Meslek:
    Öğrenci
    Şehir:
    Mersin
    Benzer bir durumla karşılaşmıştım ama veri kaydı bu kadar yoktu bende.
    Bendeki yavaşlık dosya okutmayla alakalıydı, bende dosyayı split edip threadlerle daha hızlı eklettirmiştim.
    Çalışacak program ile sql server aynı sunucu üzerindeyse (local bağlantı) insert işleminde bir kasma olmaz. Haliyle zamanı azaltmak istiyorsan birden fazla thread açarak yada birden fazla kez programı açılabilecek şekilde tasarlayıp dene.

    Basit örnek : 2 klasör aç "eklenecekler" , "tamamlandi" diye. Program eklenecekler klasöründeki dosyalardan rasgele seçip, içeriğini okuyup tamamlandı klasörüne taşıyıp ekleme işlemini gerçekleştirsin. Programdan 15-20 artık sunucu ne kadar iyiyse o kadar çok açabilirsin yada thread ilede yapabilirsin vs.vs.
     
  3. Cihan Yakar

    Cihan Yakar Daimi Üye

    Kayıt:
    8 Temmuz 2003
    Mesajlar:
    5,888
    Beğenilen Mesajlar:
    1
    Şehir:
    Ankara
    BULK COPY yöntemini araştırın. İlgili kayıtların tamamını saniyeler içerisinde aktarabilirsiniz.