Hallo,
ich kenne mich mit ADO unter Delphi noch nicht so aus und ich habe ein kleines Performance-Problem mit meinem Query. Wie ihr unten sehen könnt, weiß ich mir momentan nicht anders zu helfen. Provider ist Jet 4.0. Der folgende Teil braucht irgendwie ziemlich lang. Ich schätze mal das liegt daran, dass bei jedem Schleifendurchgang das Query-SQL neu erstellt wird.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| ... while Integer(loop) <> 0 do //Schleife wird ca. 30 mal durchlaufen begin ado_Query.SQL.Add('SELECT Type,File FROM Data WHERE ....'); ado_Query.Open; if ado_Query.FieldByName('Type').AsInteger = 0 then //Tabelle hat momentan nur 3 Einträge begin ... end ado_query.SQL.Clear; end; ado_Query.Close; |
Geht das auch irgendwie anders? Bei jedem Schleifendurchgang soll nach einem anderen Wert in der betreffenden Tabelle der Datenbank gesucht werden. Momentan wird wie gesagt bei jedem Schleifendurchgang der Query neu erstellt bzw ausgeführt und das dauert irgendwie ungewohnt lange. Kann mir da jemand weiterhelfen? Es handelt sich hier ja um ein alltägliches Problem, ich weiß nur noch nicht, wie ich das in den Griff kriege.
Danke und Gruß,
Björn