Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#1

Optimieren der Datenbankabfragen für Reportpipelines

  Alt 9. Sep 2009, 14:22
Datenbank: Firebird • Version: 2.1.0 • Zugriff über: ZEOS
Hallo Leute,

Situation:
WinXP / Delphi 7 / Firebird 2.1 / Zeos / Reportbuilder 9.0

Eine GDB Datei mit ca 30 Tabellen...
Tabelle 1: Kunden
Tabelle 2: Details
Tabelle 3: Arbeiten
Tabelle 4: Arbeitsbeschreibung
Tabelle 5: Beschreibungdokumente
...



Beispiel Datenstruktur:
Delphi-Quellcode:
Kunde1
     Detail 1
         Arbeit 1
         Arbeit 2
         Arbeit 3
             Arbeitsbeschreibung 1
                Beschreibungsdokument 1
                Beschreibungsdokument 2
     Detail 2
         Arbeit 1
         Arbeit 2
     Detail 3
     Detail 4
         Arbeit 1
             Arbeitsbeschreibung 1
Kunde 2
....
Wenn ich nun Daten via Reportbuilder drucken will geh ich folgendermaßen vor:

Tabelle1 - afterScroll .. Select * from Tabelle 2 where tabelle2.Verknüpft_mit = tabelle1.aktuelleNummer
Tabelle2 - afterScroll .. Select * from Tabelle 3 where tabelle3.Verknüpft_mit = tabelle2.aktuelleNummer
Tabelle3 - afterScroll .. Select * from Tabelle 4 where tabelle4.Verknüpft_mit = tabelle3.aktuelleNummer
Tabelle4 - afterScroll .. Select * from Tabelle 5 where tabelle5.Verknüpft_mit = tabelle4.aktuelleNummer

.. jede Tabelle hat eine Pipeline, die ich dann via Subreports zu Papier bringe ..

aber das dauert ! ... kann ich (die Tabellenstruktur muss ich belassen wie sie ist) .. durch irgendeine andere Art der Datenselektierung das ganze schneller machen ... ? im Moment werden ja extrem viele SQL Statements gefeuert, wenn der Reportbuilder durch die Tabellen fährt .. kann ich was mit Bookmarks machen oder so ?

Vielen Dank

Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
  Mit Zitat antworten Zitat