Datatable zestawu danych vs

głosy
104

Obecnie używać DataTable, aby uzyskać wyniki z bazy danych, które można używać w moim kodu.

Jednak wiele przykładów na wystawie internetowej przy użyciu DataSet zamiast i uzyskiwania dostępu do tabeli (ów) za pomocą metody zbiorów.

Czy jest jakaś korzyść, wydajność mądry lub w inny sposób, z użyciem DataSetów lub DataTables jako metoda przechowywania wyników SQL?

Utwórz 05/08/2008 o 14:07
źródło użytkownik
W innych językach...                            


7 odpowiedzi

głosy
6

w 1.x znajdowały się rzeczy nie mógł DataTables który DataSets mógł (nie pamiętam dokładnie). Wszystko, co zostało zmienione w 2.x. Domyślam się, że właśnie dlatego wiele przykładów nadal korzystać DataSetów. DataTables powinny być szybsze, ponieważ są one bardziej lekki. Jeśli tylko jedno pociągnięcie resultset, jego najlepszym wyborem między nimi.

Odpowiedział 05/08/2008 o 14:10
źródło użytkownik

głosy
82

To naprawdę zależy od rodzaju danych, które zabierasz powrotem. Ponieważ zbiór danych (w efekcie) tylko zbiór DataTable obiektów, można zwracać wiele różnych zestawów danych w jednym, a więc łatwiejsze, obiektu.

Performance-mądry, jesteś bardziej prawdopodobne, aby uzyskać nieefektywność z zapytaniami niezoptymalizowanych niż z „niewłaściwym” wybór .NET konstruktu. Przynajmniej tak było moje doświadczenie.

Odpowiedział 05/08/2008 o 14:12
źródło użytkownik

głosy
5

Jedną z cech DataSet jest to, że jeśli można nazwać wiele select w swoich procedur przechowywanych, DataSet będzie miał jeden DataTable dla każdego.

Odpowiedział 05/08/2008 o 14:15
źródło użytkownik

głosy
3

Istnieją pewne optymalizacje można używać podczas wypełniania DataTable, takie jak wywoływanie BeginLoadData (), wstawianie danych, a następnie wywołanie EndLoadData (). To wyłącza pewne wewnętrzne zachowanie w DataTable, takich jak utrzymanie indeksu itp Zobacz ten artykuł dla dalszych szczegółów.

Odpowiedział 14/09/2008 o 03:55
źródło użytkownik

głosy
19

Jedną z głównych różnic jest to, że DataSets może posiadać wiele tabel i można zdefiniować relacje między tymi tabelami.

W przypadku zwrotu tylko jeden zestaw wyników mimo to myślę DataTable byłyby bardziej zoptymalizowane. Myślę, że musi być jakiś górny (przyznawana mały) oferować funkcjonalność DataSet robi i śledzić wiele DataTables.

Odpowiedział 14/09/2008 o 04:07
źródło użytkownik

głosy
0

Kiedy masz do czynienia tylko z jednym stole tak, największa praktyczna różnica znalazłem to, że DataSet ma „HasChanges” metodę ale DataTable nie. Oba mają „GetChanges”, jednak tak, że można używać i test na null.

Odpowiedział 05/12/2016 o 15:50
źródło użytkownik

głosy
0

DataTable obiekt reprezentuje dane jako tabelaryczne w pamięci podręcznej tabeli, wierszy, kolumn i ograniczeń. DataSet składa się z kolekcji DataTable obiektów, które mogą odnosić się do siebie z obiektami DataRelation.

Odpowiedział 30/08/2019 o 03:45
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more