AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi 10.000 Datensätze ganz schnell einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

10.000 Datensätze ganz schnell einfügen

Ein Thema von tuxic · begonnen am 12. Jul 2004 · letzter Beitrag vom 14. Jul 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#11

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 12. Jul 2004, 21:46
Zitat von mytar:
Ich hab da einfach ein Sanduhr als MouseStyle gesetzt....
Hai mytar,
das ist ja schön und gut. Aber was hat das mir der Frage zu tun?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
tuxic

Registriert seit: 3. Feb 2004
Ort: Berlin
90 Beiträge
 
#12

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 10:25
Zitat von Chris1986:
Gibst du jeden der 10.000 Schleifendurchläufe optisch aus? Dann ist es klar, dass das länger dauert. Nimm das mal raus, dann sollte es schon VIEL schneller gehen
rofl - sicher braucht er am ende 5sec länger, aber das macht bei ca. 10min dann auch nix mehr

Daniel
LOAD "Windows XP", 8, 1
---- immerhin ein floppy, und keine Datasette ----
http://www.devloop.de
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
220 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 11:23
nein er braucht nicht nur 5 Sekunden länger sondern um einiges länger...
ich hab das auch mal mit einem Zähler mitlaufen lassen... habs aber schnell wieder rausgenommen weil das ohne Ende Performance frisst!
Martin
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#14

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 14:18
hallo maa!

du kannst ja auch bei deinem zähler festlegen, dass er zb nur bei jeden hundertsten datensatz die anzeige aktualisiert - dann beschäftigt sich das prog wieder mehr mit dem einlesen als mit dem anzeigen.

mfg, stefan
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
220 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 14:26
I know...

aber ich nehm lieber einen "bitte warten" Bildschirm

@tuxic: Wie schreibst du die Datensätze eigentlich weg? Mit ner AdoQuery oder mit selbstgeschriebenen Dingen oder wie? Wie lautet dein SQL-Befehl...
Vielleicht kann man da ja was optimieren...

mfg
Maa
Martin
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#16

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 16:06
@Chris1986: Ich denke ControlsEnabled macht das ja.
Francis Obikwelu
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#17

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 16:34
Zitat von mytar:
@Chris1986: Ich denke ControlsEnabled macht das ja.
nein, dies aktiviert (deaktiviert) nur das visuelle updaten der von diesem Dataset abhängenden datensensitiven Controls, alle anderen Möglichkeiten zur Ausgabe sind davon nicht betroffen. Wenn ich also nach jedem Datensatz das Interface update (eine Info schreiben), dann frißt das mehr Zeit als alles andere, bezogen auf die meisten Probleme,die auf PC-Systemen bearbeitet werden.

Grüße
Woki
  Mit Zitat antworten Zitat
tuxic

Registriert seit: 3. Feb 2004
Ort: Berlin
90 Beiträge
 
#18

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 16:50
Zitat von Maa83:
@tuxic: Wie schreibst du die Datensätze eigentlich weg? Mit ner AdoQuery oder mit selbstgeschriebenen Dingen oder wie? Wie lautet dein SQL-Befehl...
Vielleicht kann man da ja was optimieren...
UI, also ich schiebe erst einen Datensatz in ein Array einer Klasse, um dann zusagen Klasse.save2db (mal bildlich gesprochen ) .
Das einfügen passiert mit einem einfachen
INSERT INTO table (fields) VALUES (data) Daniel
LOAD "Windows XP", 8, 1
---- immerhin ein floppy, und keine Datasette ----
http://www.devloop.de
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
220 Beiträge
 
Delphi 10.3 Rio
 
#19

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 17:09
hast du schonmal versucht dir erst den kompletten insert string zu schreiben und ihn dann nur einmal ausführen?

also so:

Delphi-Quellcode:
for i := 0 to ende do begin
   sqlString := sqlString + ',INSERT INTO '+Tabelle+' VALUES ('+werte+')';
end;
Delete(sqlString,1,1);

adocom_tmp.CommandString := sqlString;
adocom_tmp.Execute;
also quasi die ganzen Inserts mit Komma getrennt auflisten und dann ausführen... müsste auch um einiges schneller gehen...

wenn du dann noch die grafische ausgabe komplett unterbindest müsste das unterhalb einer Minute durchlaufen!

(obiger Code nicht getestet... das heisst es könnten sich kleine Fehler eingeschlichen haben!)
Martin
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#20

Re: 10.000 Datensätze ganz schnell einfügen

  Alt 13. Jul 2004, 17:32
Zitat:
(obiger Code nicht getestet... das heisst es könnten sich kleine Fehler eingeschlichen haben!)
Jupp, er ist falsch!

Seit wann kannst du in SQL, kommagetrennt, Statements absetzen

Nachdem ich diesen Thread etwas verfolgt habe, frage ich mich: Benutzt ihr INSERT/EDIT/Post des DataSet????

sowas hier...
Delphi-Quellcode:
...
  SomeTDataSetDescendant.Insert;
  //do something
  SomeTDataSetDescendant.Post;
... hat ABSOLUT nichts mit performantem Datenzugriff gemeinsam!

Nachdem es auch schon der Paradox-erfahrene Vulkanier gesagt hat, plädiere ich immer noch auf BatchMove!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz