Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#5

Re: Optimieren der Datenbankabfragen für Reportpipelines

  Alt 9. Sep 2009, 15:07
Hallo,

beim Einsatz von TTable könnte das in der Form funktionieren:

Delphi-Quellcode:
Table2.Filtered := False;
Table2.Filter := 'id = ' + Table1.FieldByName('ID').AsString;
Table2.Filtered := True;
Table3.Filtered := False;
Table3.Filter := 'id = ' + Table1.FieldByName('ID').AsString;
Table3.Filtered := True;
Table4.Filtered := False;
Table4.Filter := 'id = ' + Table1.FieldByName('ID').AsString;
Table4.Filtered := True;
Table5.Filtered := False;
Table5.Filter := 'id = ' + Table1.FieldByName('ID').AsString;
Table5.Filtered := True;
d. h.: Jede der Detailtabellen enthält alle Daten (müsste bei Querys auch gehen) und beim Scrollen wird der Filter auf den entsprechenden Fremdschlüssel gesetzt.

Alternativ schau Dir mal Table1.Lookup() an, immer davon ausgehend, dass Zeos entsprechende Implementierungen enthält.
Eventuell könnte auch noch Table1.SetRange eine Alternative sein.

Und: Wie sieht die Datenmenge aus, gibt es jeweils für die Schlüssel einen passenden Index? (Das bitte zuerst abklären, kann extrem zur Beschleunigung beitragen.)
Der Index auf die interne Nummer ist das der Index auf Verknüpft_mit und aktuelleNummer, wenn nicht, bitte unbedingt diese Spalten mit 'nem Index versehen.
  Mit Zitat antworten Zitat