Obecnie pracuję nad zaprojektowaniem i wdrożeniem oprogramowania, które musi implementować operacje CRUD na dwóch tabelach z arytmetyczną szczegółowością. Nagłówek zawiera około pół miliona wierszy i zawiera około miliona wierszy.Najlepsze praktyki z dużym zestawem danych w języku C#
Wypełnij wszystkie te dane w zbiorze danych jest szalony, również dane mogą ulec zmianie i nie jestem zainteresowany, aby mieć lokalną kopię bazy danych. Jestem zainteresowany tym oprogramowaniem, które działa płynnie. Chociaż zestaw danych może nie być najlepszym rozwiązaniem, powinienem użyć tego, aby zachować spójność z innymi częściami oprogramowania.
Najpierw myślę, aby użyć TypedDataset i niektórych metod takich jak GetNext(), GetFirst(), GetByCod(), ale nie jestem pewien, czy jest to najlepsze rozwiązanie ... Robię mały test i nie działają bardzo płynnie.
Chciałbym wiedzieć, jak robią to inni programiści, najlepsze praktyki i "najlepszy wybór" do wykonywania operacji na dużych danych.
Używam programu Visual Studio 2008 i SQL Server 2005.
DODANO: Kiedy mówimy o korzystania SqlDataReader masz na myśli coś takiego?
using (SqlConnection con = new SqlConnection(CON)) {
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE");
cmd.Connection = con;
SqlDataReader rd = cmd.ExecuteReader();
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = rd;
bindingNavigator1.BindingSource = bindingSource;
txtFCOD.DataBindings.Add("Text", bindingSource, "FIELD");
}
Przede wszystkim nie używałabym zestawów danych. A któż byś zapytał wszystkie wiersze naraz? Kiedy musisz przetworzyć dużą ilość adta, użyłbym datareadera, kiedy musisz zaoferować łatwy interfejs, który poleciłbym używając OR Mappera –
Tak, zgadzam się z Boas Enkler. Zapytanie o wymagane dane tylko w wymaganym czasie. –
Zwróć uwagę w swoich zapytaniach, aby używać indeksów w tabeli i żądaj tylko określonych informacji w zapytaniach. Niech baza danych wykona swoją pracę :-) – Schwarzie2478