Visual Studio C#'ta liste kutusuna çok veri aktarınca yavaşlıyor ve bir süre sonra donuyor

C# ile dosyadaki verileri satır satır liste kutusuna aktarıyorum. 1 milyon veri gibi yüksek miktarda verilerde ilerleme zamanla aşırı yavaşlıyor. En sonunda donuyor. Hiç ilerlememeye başlıyor. Bu problemi nasıl çözerim?

RAM kullanımına baktın mı?
 
Ya daha fazla hafıza kapasitesi sağlaman lazım veya ihtiyacın olmayan verileri ihtiyacın olana kadar çağırmaman lazım. Veri boyutu ile yavaşlama sorunu doğru orantılıdır. Aynı zamanda kontrol noktalarıda öyle. Bu yüzden en az kod ile en yüksek verimliliği elde etmek sana kalmış bunun içinde en başta dediğim gibi veri dosyasından ihtiyacın olan veriyi çağır. Eğer SQL gibi sorgu özelliği yoksa veriler için bir SQL a geçmen daha mantikli olur.
 
1 milyon verilik bir liste kutusunda kullanıcının aradığını seçebileceğini düşünmüyorum. Dolayısıyla donmasa, çalışsa bile kullanıcı donacak.

Liste kutusuna koymadan, arama kutusu veya nested list ile 3-5 liste kutusunda seçim yapılarak sonuca ulaşmaya çalış. Ülke -> il -> ilçe gibi.
 
RAM kullanımına baktın mı?
16 GB RAM var. Durum böyle. Acaba kısıtlama mı var yoksa başka bir şey mi?

1691585038989.png


1 milyon verilik bir liste kutusunda kullanıcının aradığını seçebileceğini düşünmüyorum. Dolayısıyla donmasa, çalışsa bile kullanıcı donacak.
Kullanıcılar için geliştirilmedi. Log dosyalarını veritabanına aktarıyorum. Bazen hata oluştuğu için doğrudan aktarmak soruna yol açıyor. Elle inceleyip aktarmam lazım.
 
Kullanıcılar için geliştirilmedi. Log dosyalarını veritabanına aktarıyorum. Bazen hata oluştuğu için doğrudan aktarmak soruna yol açıyor. Elle inceleyip aktarmam lazım.
Görsel olarak gösterdiğin için RAM kullanımı düşük de olsa uygulama tıkanır. Kaydırıldıkça yeni öğelerin yüklendiği ve geçmişin temizlendiği bir sistem yapabilirsin web sayfaları gibi. Bütün veri yine bellekte olur, ama görsel olarak gösterilmez. Ayrıca daha basit bir şekilde sayfalandırma da yapabilirsin.
 
16 GB RAM var. Durum böyle. Acaba kısıtlama mı var yoksa başka bir şey mi?

Eki Görüntüle 1895886


Kullanıcılar için geliştirilmedi. Log dosyalarını veritabanına aktarıyorum. Bazen hata oluştuğu için doğrudan aktarmak soruna yol açıyor. Elle inceleyip aktarmam lazım.
1 milyon satır elle inceleniyor ve aktarılıyor mu cidden
 
Görsel olarak gösterdiğin için RAM kullanımı düşük de olsa uygulama tıkanır. Kaydırıldıkça yeni öğelerin yüklendiği ve geçmişin temizlendiği bir sistem yapabilirsin web sayfaları gibi. Bütün veri yine bellekte olur, ama görsel olarak gösterilmez. Ayrıca daha basit bir şekilde sayfalandırma da yapabilirsin.
Ben SQL kodlarını liste kutusuna ekliyorum. Buradaki kodları kopyalayıp veritabanına ekliyorum. Yani kodların toplu olması lazım.

1 milyon satır elle inceleniyor ve aktarılıyor mu?
Hayır tabii ki de. Milyonlarca satır log var. Hepsini nasıl elle inceleyeyim? ;)

Yazılım ile test ediyorum. Eğer hata oluşursa hata çıkan kısmı düzenleyip kodları veritabanına ekliyorum.
 
Ben SQL kodlarını liste kutusuna ekliyorum. Buradaki kodları kopyalayıp veritabanına ekliyorum. Yani kodların toplu olması lazım.
Tıkanan kısım liste kutusuna büyük miktarda veri eklenmesi. Liste kutusuna eklemeden, arka planda halledebilirseniz sorun olmayacaktır.

Dediğim gibi görsel arayüzün boğulmaması gerekiyor. Nasıl yapılır bilemem.
 
Tıkanan kısım liste kutusuna büyük miktarda veri eklenmesi. Liste kutusuna eklemeden, arka planda halledebilirseniz sorun olmayacaktır.

Dediğim gibi görsel arayüzün boğulmaması gerekiyor. Nasıl yapılır bilemem.
Peki birden fazla liste kutusu sorunu çözer mi? Örneğin her kutuya 100.000 satır eklemek çözüm olur mu?
 

Technopat Haberler

Geri
Yukarı