Hallo!
ich hab mir ein tool in C# programmiert, dass daten auf unterschiedliche Weise in eine Datenbank einfügt.
Die DB ist ein MSSQL Server 2005 Express. Die Connection läuft über eine ODBCConnection.
es sind ungefähr 3000 Datensätze mit je 60 Werten.
Als erstes hab ich versucht die Datensätze einzeln einzufügen. Also mit einem Insert. Klappt prima, aber ist ein bisschen langsam. Mehrere Messungen ergaben das die kürzeste Zeit 13 Sekunden waren.
Dann hab ich es mit einem Paket von Datensätzen versucht. Also erst 2 Datensätze dann 3 und so weiter... Bei 2 und 3 datensätzen gleichzeitig lag der Beste wert auch bei ca. 13 Sekunden. Also keine Verbesserung.
Dann versuchte ich die Daten in ein Dataset zu schreiben und über einen ODBCDataadapter mit hilfe des Update-befehls mit der Datenbank abzugleichen. Das hat jedes mal mehr als 1 Minute gedauert. Das ging nach hinten los.
So, nun zu meiner Frage! Gibt es eine schnellere Methode die 3000 Datensätze in eine Datenbank zu schreiben? Oder was kann ich noch ausprobieren? Wie könnte der Code in ADO.NET aussehen? Hab noch nicht mit ADO gearbeitet.
Vielen Dank im Voraus!
Sebastian Schulz
ich hab mir ein tool in C# programmiert, dass daten auf unterschiedliche Weise in eine Datenbank einfügt.
Die DB ist ein MSSQL Server 2005 Express. Die Connection läuft über eine ODBCConnection.
es sind ungefähr 3000 Datensätze mit je 60 Werten.
Als erstes hab ich versucht die Datensätze einzeln einzufügen. Also mit einem Insert. Klappt prima, aber ist ein bisschen langsam. Mehrere Messungen ergaben das die kürzeste Zeit 13 Sekunden waren.
Dann hab ich es mit einem Paket von Datensätzen versucht. Also erst 2 Datensätze dann 3 und so weiter... Bei 2 und 3 datensätzen gleichzeitig lag der Beste wert auch bei ca. 13 Sekunden. Also keine Verbesserung.
Dann versuchte ich die Daten in ein Dataset zu schreiben und über einen ODBCDataadapter mit hilfe des Update-befehls mit der Datenbank abzugleichen. Das hat jedes mal mehr als 1 Minute gedauert. Das ging nach hinten los.
So, nun zu meiner Frage! Gibt es eine schnellere Methode die 3000 Datensätze in eine Datenbank zu schreiben? Oder was kann ich noch ausprobieren? Wie könnte der Code in ADO.NET aussehen? Hab noch nicht mit ADO gearbeitet.
Vielen Dank im Voraus!
Sebastian Schulz
Comment