![]() |
10.000 Datensätze ganz schnell einfügen
Hi,
ich habe das Problem das ich gaaaaaaaaaaaaaaaaaaanz schnell mindestens(!) 10.000 Datensätze in eine Paradox über die BDE eintragen muss. Das ganze ist in sofern einfach, weil sich eigentlich nur ein Feld immer verändert (mit einer laufenden Nummer). Dieses Feld ist aber ein Textfeld, und _kein_ AutoInc. Im moment füge ich die Datensätze via for-Schleife ein, das dauert aber trotzdem ein wenig. Hat irgendwer einen Optimierungsvorschlag? MfG Daniel |
Re: 10.000 Datensätze ganz schnell einfügen
Das Problem hatte ich auch mal
Das ist zwar schon länger her, aber bei irgend einer komponente die du hast gibt es ControlsDisabled oder ControlsEnabled. Disable die Controls vor dem Einfügen und Enable sie dann wieder. Schau einfach mal genau nach, funktionieren tut es sicher! mytar |
Re: 10.000 Datensätze ganz schnell einfügen
Ich kenn mich nicht so gut aus mit datenbanken, aber wie wärs wenn du die daten erst in einen array schreibst und dann den array als blob oder etwas anderes stream ähnliches in die db haust?
|
Re: 10.000 Datensätze ganz schnell einfügen
@phlux
Bei einer "richtigen" DB würdest _fast_ richtig liegen, dort löst man das über Bulk DML (auch Array DML gennant :zwinker: ) Bei diesem BDE-Zeugs gibt's IMHO so etwas wie BatchMove (habe ich hier irgendwo mal gelesen :roll: ). |
Re: 10.000 Datensätze ganz schnell einfügen
Zitat:
|
Re: 10.000 Datensätze ganz schnell einfügen
Zitat:
Daniel |
Re: 10.000 Datensätze ganz schnell einfügen
Ich hab da einfach ein Sanduhr als MouseStyle gesetzt.
D.h. setze vor dem einfügen
Delphi-Quellcode:
nach dem einfügen
CursorStyle := csHourGlass;
Delphi-Quellcode:
CursorSytel := csDefault;
Such einfach mal in der OH nach CursorStyle oder csHourGlass; Ich glaub im Form müsste es
Delphi-Quellcode:
sein
Self.CursorStyle
dann weis der User, aha jetzt passiert was. ich hoffe es hilft dir |
Re: 10.000 Datensätze ganz schnell einfügen
Zitat:
Aber das mit dem Batchmove werde ich mir mal angugn ;) Daniel |
Re: 10.000 Datensätze ganz schnell einfügen
Gibst du jeden der 10.000 Schleifendurchläufe optisch aus? Dann ist es klar, dass das länger dauert. :lol: Nimm das mal raus, dann sollte es schon VIEL schneller gehen
|
Re: 10.000 Datensätze ganz schnell einfügen
Batchmove ist aber eine gute Empfehlung. Geht schnell und ist einfach zu benutzen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz