Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: [Advantage] Komplexere Abfrage dauert ewig

  Alt 10. Sep 2007, 16:17
Hallo,

ersetze mal das left outer join testweise durch inner join.
left joins sind sehr aufwendig.

Ich würde das anders machen.

der left join ...
left outer join Objects ON Objects.ID = HealingsheetsIndex.ObjectID

Sorge jetzt dafür, dass du keinen left join brauchst.
HealingsheetsIndex.ObjectID enthält entweder eine der Objects.ID
oder auch nicht, deshalb ja dein left join.

Lege jetzt ein Objects-Eintrag mit der ID = 0 an.
Trage in alle HealingsheetsIndex-records, wo HealingsheetsIndex.ObjectID NULL ist,
die 0 ein.

Du musst natürlich jetzt dafür Sorgen, dass dein Programm
dass beim insert/update/delete auch macht.

Jetzt kannst du einen inner join bentzen
inner join Objects ON Objects.ID = HealingsheetsIndex.ObjectID

Durch den inner join entfällt der full table scan.


Heiko
Heiko
  Mit Zitat antworten Zitat