| |

Allgemeine DiskussionenWie schnell ist eine Datenbank | |  | Autor: Melli | Datum: 17.04.02 18:30 |
| Hallo!
Ich beschreibe hier "mal eben" mein Problem und würde mich glücklich schätzen, wenn mir jemand dazu eine kompetente Antwort geben würde.
Ich schreibe gerade eine Applikation die (über eine DLL) über das Netz sehr viele Datensätze importiert. Bisher habe ich die Datensätze immer genommen und in ein Array gespeichert. Da ich aber jeden Datensatz darauf überprüfen muss, ob es diesen Datensatz schon gibt, (die Datenquelle kann doppelte Einträge enthalten und ist nicht indiziert) muss ich bei jeder neuen zu importierenden Zeile den bisherigen Datensatz überprüfen. Ich habe das schon schlau mit sortierten Pointern gemacht, die mir einen schnellen Zugriff auf den Bereich meines schon vorhandenen sortierten Arrays bieten, aber auch das war bei den Datenmengen irgendwann einfach zu langsam. De Facto brauche ich über 20 Sekunden um schlappe 20.000 Zeilen einzulesen, zu parsen, auf DUPES (und noch ein paar andere Kleinigkeiten) zu prüfen. Mache ich das ohne mein Array anzufassen (also der reine Blindlauf, Daten lesen und nicht verarbeiten), so läuft das in 2 Sekunden ab. Das Netz ist also nicht das Nadelöhr. Vielleicht sind es die vielen Redim Preserve’s oder mein Sortieralgorhythmus. Egal, ich habe Stunden mit Optimierungsversuchen verbracht, ich muss das über Bord kippen.
Meine Frage ist jetzt also:
Ich kann ein bisschen SQL und würde daher gerne eine Datenbank-Engine einbinden. Gleichzeitig möchte ich aber auch, dass mein Programm später auf Win98, ME, NT, 2k und XP läuft. Und meine Datenbank braucht keine Exports oder anderen Programmen als mir selbst eine Schnittstelle zur Verfügung stellen. Ich brauche eigentlich nur einen schnellen Weg zum Speichern, sortieren und modifizieren meiner Daten.
Was kann ich nehmen? Wie funktioniert der Zugriff auf die Daten? Ist das immer zwingend mit einer Datenbankschnittstelle verbunden, wo ich mich anmelden muss und Rechte brauche? Am liebsten wäre mir einfach ein Modul (so ein OCX), welches ich in VB einbaue. Dann würde ich gerne SQL-Statements mit diesem Modul durchführen. Mehr möchte ich eigentlich nicht. Ich denke aber, dass das so einfach nicht sein wird.
Ein zentrale Frage habe ich noch: Wie schnell ist das mit einer DB? Also sagen wir mal, ich mache eine Sekunde lang nur so was wie
„INSERT INTO db (f1, f2, f3, f4) VALUES (‚1’, ‚2’, ‚3’, ‚4’)“.
Wie viele Inserts würden in dieser Sekunde ausgeführt? Ich weiß, so was lässt sich so einfach nicht beantworten, weil die Randbedingungen klar sein müssen, aber ich sage mal von VB aus, klarer Text, insgesamt, sagen wir 5 Felder mit insgesamt 80 ASCII Zeichen (auf die 5 Felder verteilt). Wie viele? 100 ? 1.000? 10.000?
Für eure Hilfe wäre euch mein Dank gewiss!
Eure Mel. |  |
 | 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 |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|