Gibt es eine DBGrid-Komponente, die große Datenmengen schnell verarbeiten kann?
-
03-07-2019 - |
Frage
Große Datenmengen, Millionen von Datensätzen, müssen spezielle Programmiergeschwindigkeit in DBGrids zu halten.
Ich möchte wissen, ob es irgendwelche vorgefertigten Komponenten für Delphi (DBGrids), dass dies automatisch?
EDIT Beispiel: Einige Datenbanken haben Funktionen wie 1. X Aufzeichnungen holen (zB 100 Datensätze). Wenn ich den Boden mit Scrollen erreichen, möchte ich die nächsten 100. Im Gegensatz zu Auto holen, wenn ich den Anfang zu erreichen, ich die vorherigen 100 holen möchte ich weiß, ich kann dieses Programm, aber es ist sicher möglich, dass die Funktion eine Propagation DBTabelle-Steuerelement, wo die DBGrid die Pufferung der Fall ist. Es wird ziemlich viel Programmierung speichern -. Sie einfach die „Puffergröße“ so einstellen müssen, sprechen
Lösung
Ich würde einen Blick auf Developer Express Quantum Suite . (@Birger: Sie waren nur einen Tick schneller ;-)) Also ich bin einfach nicht die Antwort zu duplizieren, einige Ausarbeitung:
Die DevExpress Grid verwendet einen Daten-Controller, der die Daten an das Netz gebunden zu kontrollieren mehrere Modi. Eines davon ist genau das, was Sie suchen:
Grid-Modus
Wenn Grid-Modus verwendet wird, nur ein fester Anzahl der Datensätze Datensatz ist loaded in dem Speicher. Da nur ein begrenztes Satz von Datensätzen aus der abgerufene Daten-Set, automatische Sortierung, Filterung und Summenberechnungen sind deaktiviert in Grid-Modus (muss kontrolliert werden manuell statt). Standardmäßig ist diese Modus deaktiviert und die ExpressDataController lädt alle Datensätze in einem Datensatz.
Es einige Nachteile hat, die ziemlich offensichtlich scheinen: Sie nicht eine Zusammenfassung machen können, sortieren oder filtern, wenn Sie bei der Hand alle Datensätze nicht haben
.Andere Tipps
Sie können einen Blick auf dem wunderbar nehmen wollen (kostenlos, Open Source, dual als MPL 1.1 und GPL somit verwendbar in Closed-Source-Anwendungen) Virtual TreeView und seine Benutzer gelieferten Nachkommen (scrollen Sie die Seite diejenigen zu finden, unten).
Bearbeiten der Frage der bearbeiten zu reflektieren: Virtuelle TreeView kann Ihnen nicht nur Millionen von Knoten zu handhaben, ohne sie in Erinnerung zu halten, aber das ist in der Tat der bevorzugte Weg, es zu verwenden. Sie liefern die Daten durch Ereignisrückrufe, wenn es gebraucht wird, und Sie können den Baum sagen, dass die Daten in den Cache (oder auch nicht).
Oh, und natürlich ist es auch ein Raster / Bericht-Modus hat, wo sie als Tabelle funktionieren kann (nur die GridExtensions Eigenschaft auf True gesetzt.)
Nextgrid ist leicht, schnell und gut aussehende Raster für Delphi
http://www.bergsoft.net/component/next-grid /features.htm
Umgang mit großer Menge an Zellen ohne Verlust SPEED
Nextgrid verarbeiten kann sehr große Menge von Zellen, ohne Geschwindigkeit zu verlieren. Geschwindigkeit von Hinzufügen, Ändern und Löschen von Daten nicht von der Menge der Zellen ab. In Nextgrid-Demo können Sie sehen, wie schnell Nextgrid mit 100.000 Zeilen arbeiten und 10 Spalten = 1.000.000 Zellen
Ich denke, die DevExpress Quantum unterstützt dies sehr gut.
sorry, ich habe gerade gesehen, um Ihren Kommentar zu Neftalí
Wenn Sie 100 Datensatz pro Zeit bringen würde, und holen dann die nächsten 100, diese Arbeit zu den Datenbankzugriff Komponenten bezogen, Blick auf devart Komponenten, sind sie bieten einen direkten Zugang Komponenten am häufigsten verwendete Datenbank , und sie haben die Funktion, die Sie über fragen und mehr: