AW: MSSQL/ADO ... speed is everything !!!
18. Jun 2014, 07:02
Nein. Die Geschwindigkeit ist von vielen Faktoren abhängig, die im Provider und auch im Server eingestellt werden können.
In deinem Fall ist es aber eher so, das not Speed everything ist, but the Speicherverbrauch also into Consideration getaked werden muss. What brings it you when you theoretically very fast deine Daten fetchen kannst, aber die not in the Speicher ryne bekommst.
Die Lösung lautet: 'Overlapped': Wenn Du overlapped arbeitest, kannst Du sowohl Server als auch Client optimal ausnutzen. Overlapped bedeutet hier: Während ein Thread (oder mehrere) den nächsten Block von Daten liest, kann der andere (die anderen) Thread(s) die Daten bereits verarbeiten.
Deine Verarbeitungsgeschwindigkeit ist also nicht: Ladezeit + Verarbeitungszeit, sondern eher: Max(Ladezeit, Verarbeitungszeit)+Kleiner Overhead.
Und *dann* kannst Du an der Pagegröße herumdrehen, der Anzahl der Threads etc. Aber das Wichtigste: Dein Speicher wird nie überlaufen, deine Anwendung ist auch bei 100 Mrd Datensätzen stabil und schnell etc. Und Du kannst die Parameter so drehen, das der Server nicht übermäßig belastet wird etc.
Wenn dieses Tool jedoch öfter eingesetzt wird, würde ich mir überlegen, die Daten schon vorher zu verarbeiten/verdichten. Eventuell 1x täglich, alle Stunde, Minute, in Echtzeit etc.
Geändert von Dejan Vu (18. Jun 2014 um 07:20 Uhr)
|