Datentabelle vs Dataset

stimmen
104

Ich verwende derzeit eine Datatable zu den Ergebnisse aus einer Datenbank zu erhalten, die ich in meinem Code verwenden kann.

viele Beispiel auf der Show Web ein DataSet statt und den Zugriff auf die Tabelle (n) durch die Sammlungen Methode jedoch verwenden.

Gibt es einen Vorteil, Leistung klug oder weniger Zerteilen von Datasets oder Tables als Speichermethode für SQL Ergebnisse mit?

Veröffentlicht am 05/08/2008 um 14:07
quelle vom benutzer
In anderen Sprachen...                            


6 antworten

stimmen
82

Es hängt wirklich von der Art der Daten, die Sie zurückzubringen. Da ein Datensatz (in der Tat) ist nur eine Sammlung von Datatable-Objekte können Sie mehrere verschiedene Sätze von Daten in einem einzigen und damit handlicher, Objekt zurück.

Performance-weise, sind Sie eher Ineffizienz von nicht optimierten Abfragen zu bekommen, als von der „falschen“ Wahl des .NET-Konstrukts. Immerhin, das ist meine Erfahrung gewesen.

Beantwortet am 05/08/2008 um 14:12
quelle vom benutzer

stimmen
19

Ein wesentlicher Unterschied besteht darin, dass Datasets mehrere Tabellen halten kann, und Sie können zwischen diesen Tabellen Beziehungen definieren.

Wenn Sie zurückkehren, nur ein einziges Ergebnis gesetzt, obwohl ich ein Datatable denken würde mehr optimiert werden würde. Ich würde denken, es hat einige Overhead (gewährt klein), um die Funktionalität eines Datasets zu bieten hat und behalten den Überblick über mehrere Datentabellen.

Beantwortet am 14/09/2008 um 04:07
quelle vom benutzer

stimmen
6

in 1.x es Tables tun konnte nicht sein, die Dinge verwendet, die Datasets konnte (nicht mehr genau erinnern, was). Alles, was in 2.x. geändert Meine Vermutung ist, das ist, warum viele Beispiele noch Datasets verwenden. Tables sollte schneller sein, da sie leichter sind. Wenn Sie ziehen nur einen einzigen Suchresultates, seine beste Wahl zwischen den beiden.

Beantwortet am 05/08/2008 um 14:10
quelle vom benutzer

stimmen
5

Ein Merkmal des DataSet ist, dass, wenn Sie mehrere Select-Anweisungen in gespeicherten Prozeduren aufrufen können, die DataSet eine Datatable für jeden haben.

Beantwortet am 05/08/2008 um 14:15
quelle vom benutzer

stimmen
3

Es gibt einige Optimierungen Sie verwenden können , wenn eine Datatable, wie Aufruf Beginload () Füllen Sie die Daten einfügen, dann EndLoadData () aufrufen. Dadurch wird ein gewisses internes Verhalten innerhalb des Datatable, wie Index Wartung usw. Siehe off diesen Artikel für weitere Details.

Beantwortet am 14/09/2008 um 03:55
quelle vom benutzer

stimmen
0

Wenn Sie nur mit einer einzigen Tabelle zu tun sowieso, habe der größten praktischen Unterschied, den ich gefunden, dass DataSet eine „Haschanges“ Methode hat aber Datatable nicht. Beide haben eine „GetChanges“ aber so, dass und Test auf null verwenden können.

Beantwortet am 05/12/2016 um 15:50
quelle vom benutzer

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