Autor Beitrag
fileshaker
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 27.04.11 22:38 
Hallo,

ich hab mal eine Performance-Frage. Ich habe mein Project nun soweit, dass ich auf eine DB (MS SQL Express) einer VM zugreifen und Daten lesen kann. Von der DB benötige ich ca. 60 % der Daten. Nun meine Frage: Welche der beiden Option ist für die Performance besser:

1. Ich öffne die Verbindung, lese alle Daten (also 100% der DB) aus, schließe die Verbindung und bearbeite dann in C# meine Daten, so dass ich auf meine 60 % komme und bin glücklich

oder:

2. Ich öffne die Verbindung, und lese nach und nach die Daten bei Bedarf mit SQL Statements aus. Ganz zum Schluss schließe ich dann die Verbindung (versteht sich ja von selbst)

(Vielleicht noch ein Aspekt zur Verdeutlichung: Die benötigten 60% der Daten stehen in unterschiedlichen Tabellen wild durcheinander. Also es ist nicht so, dass ich alle Daten von beispielsweise 6 von insgesamt 10 Tabellen brauche.)

Vielen Dank für eure Hilfe!
dark-destination1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178
Erhaltene Danke: 21



BeitragVerfasst: Do 05.05.11 08:10 
performancetechnisch ist eindeutig die zweite lösung besser, da du bei 1. die daten im arbeitsspeicher hast. Damit hast du zwar immer die daten, aber das ist prinzipiell schwachsinn, wenn diese ehh nicht sortiert sind (bzw. wild durcheinander). Eine DB-Abfrage dauert nur einige Millisekunden und ist daher besser!