Hallo,
folgende Aufgabe würde ich gerne in Delphi 2009 Enterprise mit Standardkomponenten lösen (wozu ich in diesem Fall auch das QuantumGrid zähle, die in den Anwendungen bereits eingesetzt werden):
Ein Datenbestand mit ca. 100k Datensätzen zu jeweils 50 Feldern wird nachts von einem (Delphi-)Programm erzeugt. Diese Daten sollen von den FachanwenderInnen tagsüber dann in einer Delphi
GUI Anwendung geöffnet, in einem QuantumGrid angezeigt und über Filterkriterien auf die gesuchten Daten eingeschränkt werden (z.B. von-bis Datum).
Ich würde es naiv mit einem TClientDataSet versuchen, das man als
XML oder binär im Nachtjob abspeichert und dann in der Delphi
GUI einliest. Aber ist das ausreichend schnell / resourcenfreundlich (es ist eine Terminalserverumgebung)? Oder überschreitet es die aktuellen ClientDataSet-Belastungsgrenzen zu sehr?
Das Ziel ist es vor allem durch den nächtlichen Lauf die Datenbank zu entlasten, und die Daten halbwegs schnell auf den Bildschirm zu bringen. Denkbar wäre, dass man die gewünschten Sätze bereits während des einlesens der Datei ausfiltert, oder nach dem Einlesen zuerst einen ClientDataSet Filterausdruck setzt, bevor die DataSource mit dem Grid verbunden wird. Auch das Cachen und Filtern auf einem Applikationsserver und Übertragung per DataSnap wäre möglich.
Also gesucht ist eine Lösung für diese Aufgabe, bei der t minimiert werden soll:
Grosse Anzahl Datensätze -> [Zeit t vergeht] -> Laden der Daten in eine Gridkomponente