[quote="Elvis"]
Zitat von
Harry M.:
Jeder (
JEDER) Versuch ein eigenes, auf eine spezielle App angepasstes,
DBMS zu basteln, der mir bisher unter die Augen kam, war bestenfalls jämmerlich.
Also ich hab mal eine B-Tree-Implementierung zusammengebaut, die ca. 500.000 Schlüssel/Wert-Paare (Schlüssel=String[8], Wert = 64 Byte) speichern und auf der Platte ablegen konnte. Das kann keine richtige
DB. Es geht also, wenn man will (War im Rahmen einer Messdatenerfassung von einem CAN-Bus. Der Schlüssel enthielt dabei u.a. Zeit und Kanal-Nummer).
Es gibt mehrere Möglichkeiten, Daten sehr schnell in einem richtigen
DBMS abzulegen. Da ich
MSSQL verbunden bin, kann ich nur für diese
DB sprechen:
Möglichkeit 1 (geht vermutlich für alle
DB).
Du sammelst die INSERT-Anweisungen in einem String, bis dieser max. 1000 Zeichen lang ist und bläst diese über die Execute-Methode der
ADO-Connection zur
DB.
Möglichkeit 2: Du verwendest BCP.EXE (Bluk Copy Program) von Microsoft. Das ist bei jedem Server dabei. Es handelt sich um ein Kommandozeilentool, das speziell formatierte Textdateien sehr schnell (>10000 Recs per second) reinsaugt.
Ich würde #2 nehmen und nur wenn du wirklich Performance brauchst, eine selbstgefrickelte Lösung implementieren. Diese B-Tree-Geschichte war nicht Ohne.