![]() |
Datenbank: MSSQL • Version: 2012 • Zugriff über: ADO
ADO langsam :-(
Hallöle... :P
Ich bin am Verzweifeln... :? Ich muß 50000 Datensätze in eine generische Liste laden. Soweit so gut... Das SQL holt die Daten über eine Query ab. Das dauert max. eine Sekunde. Und jetzt kommts... Die Schleife bis EOF dauert 25 Sekunden. :shock: ...auch wenn ich die Schleife nackig ohne Inhalt laufen lasse. :shock:
Delphi-Quellcode:
Die Query wird immer neu erzeugt. Es sind keine Events eingehängt. An welcher Schraube muß ich drehen das der Durchlauf besser wird?
while not Query.Eof do
begin Blubb := TBlubb.Create; Blubb.Caption := DataSet.FieldByName('Bla').AsString; List.Add(Blubb); end; // ca. 25 Sekunden Als Vergleich: Mit NEXUS passiert das nicht. Da ist die Schleife in ca. 2 Sekunden durch. Das hat nichts mit der DB als solches zu tun... sondern mit ADO. Ich weiß schon warum ich die hasse...:evil: Danke. |
AW: ADO langsam :-(
Vor langer,langer Zeit hat Gerhard etwas dazu geschrieben, ich hab die Details leider nich mehr im Kopf, unter der Delphi Schicht gibt es so etwas ähnliches wie resultrecords, die sind sauschnell.
Gruß K-H |
AW: ADO langsam :-(
Danke...
Die Query stammt aber aus einer Abstraktionsschicht für verschiedene DBMS. Da komme ich nicht dran... :? Ich habe nur die TDataSet Methoden verfügbar. LÖSUNG: TDataSet.DisableControls :gruebel: Obwohl keine Controls oder Events dranhängen ist es nun mit einer Sekunde deutlich schneller. :thumb: Ohne Worte...:? Again what learned...:stupid: |
AW: ADO langsam :-(
noch schneller wird es, wenn du nicht bei jedem Schleifendurchlauf fas Feld über den Feldnamen "suchst"..
also besser vor der Schleife field : TField; field := DataSet.FieldByName('Bla'); in der Schleife: Blubb.Caption := field.AsString; |
AW: ADO langsam :-(
Zitat:
Gruß K-H |
AW: ADO langsam :-(
:P
Zitat:
|
AW: ADO langsam :-(
Zitat:
|
AW: ADO langsam :-(
Zitat:
Ein gewisser Vista-Fan wird zwar sagen, das ist ein toter Gaul:wink:, aber vielleicht macht es den einen oder anderen glücklich. Welche DB und welcher Provider? Vielleicht sitzt da der Schmutzfink. Gruß K-H |
AW: ADO langsam :-(
:P
Zitat:
siehe: Zitat:
Zitat:
Zitat:
Zitat:
|
AW: ADO langsam :-(
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 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 by Thomas Breitkreuz