vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Re: DataTable - Multithread 
Autor: Chr78
Datum: 26.04.11 14:08

Vielen Dank für deine Antwort.

Vermutlich habe ich mich nicht richtig ausgedrückt. Es geht nicht darum, dass die Datenbank selbst aktualisiert werden soll, sondern der Inhalt einzelner Datensätze gelegentlich neu berechnet werden muss, der dann wieder in die Datenbank zurückgeschrieben wird. Nicht das Auslesen der Datenbank oder das zurückschreiben des DataTables in die Datenbank wird parallelisiert, sondern das Berechnen eines Feldes, dessen Berechnung relativ lange dauert, da die dazugehörige Funktion relativ komplex ist. Der Workflow ist derzeit folgender:
1. DT wird aus Datenbank ausgelesen
2. mit einer DT.Select werden die Datensätze ermittelt, die neu berechnet werden müssen und deren PrimaryKey in eine Arraylist geschrieben
3. Die Arraylist wird je nach Anzahl der Threads in gleich große Bereiche gesplittet und von den einzelnen Threads diese "Sub-Arraylists" - sozusagen als Queue - abgearbeitet.
4. Wenn alle Threads fertig sind, wird der DT wieder in die Datenbank zurückgeschrieben, damit die davon unabhängigen Anwendungsprogramme mit diesen "neu berechneten" Daten arbeiten können.

Diesbezüglich ist wirklich ein genialer Zeitgewinn durch die Parallelisierung bewirkt. Bei der "Neuberechnung" von 30.000 Datensätzen, die mit einem Thread 3h benötigten, wird bei 3 Threads lediglich knapp über 1 1/4 h benötigt. Also die Parallelisierung bewirkt zeitlich wirkich was. Da aber der Rechner, auf dem die Neuberechnung ausgeführt werden soll mit seinen 12-Kernen selbst bei 3 Threads bei <5% Auslastung liegt, dachte ich mir, mehr Threads, schnellere Erledigung der Aufgabe.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataTable - Multithread4.213Chr7826.04.11 10:50
Re: DataTable - Multithread2.601ModeratorFZelle26.04.11 13:25
Re: DataTable - Multithread2.553Chr7826.04.11 14:08
Re: DataTable - Multithread2.562Micke26.04.11 15:03
Re: DataTable - Multithread2.566Micke26.04.11 14:52
Re: DataTable - Multithread2.560Chr7826.04.11 15:14
Re: DataTable - Multithread2.537Micke26.04.11 15:51
Re: DataTable - Multithread2.526Chr7826.04.11 15:22
Re: DataTable - Multithread2.559Micke26.04.11 15:43
Re: DataTable - Multithread2.535Chr7826.04.11 17:02
Re: DataTable - Multithread2.515Micke26.04.11 19:20
Re: DataTable - Multithread2.558Chr7827.04.11 10:16
Re: DataTable - Multithread2.534ModeratorFZelle28.04.11 10:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel