hallo,
ich möchte ein Recordset möglichst schnell in eine Datenbank speichern und suche nach verschiedenen möglichkeiten.
anwendung:
- bis zu 20 parallele threads welche von verschiedenen server recordsets empfangen
- ein zieldatenbanksystem
- programmiersprache .NET C#
- datenbanksystem: MSSQL
- recordsets: bis zu 100.000 zeilen
ich möchte jetzt möglichst performant die empfangenen recordsets aus den Threads (Threadsicherheit) in die datenbank drücken.
1. idee: schleife durch das recordset und 100.000 insert statements bauen
- ist machbar
2. idee: bulk insert verwenden
- geht nicht da auf arbeit im dateisystem verzichtet werden soll
3. DTS
- keine erfahrung, komisch, zu unflexibel
- zu unflexibel weil der insert über steuertabellen variabel gehalten werden soll
- es muss möglich sein innerhalb von ein paar minuten das ziel des recordsets zu verändern und anzupassen
bulk insert schreibt ohne großartig zu protokollieren und ist deswegen schneller. die einzelnen inserts sind halt sehr viel langsamer.
kennt jemand einen eleganten weg ein großes recordset ohne dateiarbeit und möglichst performant in eine datenbank zu schreiben?