Ich habe eine kleine Anwendung, die XML-Dateien liest und die Informationen in eine SQL DB einfügt.Nutzen Sie mehrere Kerne, die SQL-Anweisungen ausführen
Es gibt ~ 300 000 Dateien zu importieren, jedes mit ~ 1000 Datensätze.
Ich habe die Anwendung auf 20% der Dateien gestartet und es läuft jetzt seit 18 Stunden, ich hoffe, ich kann diese Zeit für den Rest der Dateien verbessern.
Ich verwende keinen Multi-Thread-Ansatz, aber da der Computer, auf dem ich den Prozess ausführe, über 4 Kerne verfügt, habe ich darüber nachgedacht, um die Performance etwas zu verbessern (obwohl ich das Hauptproblem vermute) die I/O und nicht nur die Verarbeitung).
Ich dachte über die Verwendung der BeginExecutingNonQuery() -Methode für das SqlCommand-Objekt, das ich für jede Einfügung erstellen, aber ich weiß nicht, ob ich die maximale Anzahl gleichzeitiger Threads begrenzen sollte (noch weiß ich, wie es geht).
Was ist Ihr Tipp, um die beste CPU-Auslastung zu erhalten?
Dank
Die Sache ist, muss ich einige kleine Verarbeitung zu den Informationen vor dem Einfügen tun, im Grunde enthalten die Dateien Informationen, die in 4 verschiedenen Tabellen geht, aber ich werde einen Blick darauf werfen, könnte es nützlich sein. Danke – willvv
Es sollte sogar in diesem Fall helfen - vielleicht würden Sie 4 DataTables benötigen, um die Ergebnisse Ihrer Verarbeitung zu halten, aber in jedem Fall sollten Sie Ihre Leistung verbessern. –