Einzelnen Beitrag anzeigen

hoika

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

Re: Langsamer Left Outer Join

  Alt 30. Jul 2007, 11:49
Hallo,

mehrere Sachen fallen mir ein.

1. zu viele Spaltenb im select
select * ist falsch

2. das OR durch ne union ersetzen

SQL-Code:
select Tabelle2.bla from Tabelle2
Left Outer Join Tabelle1 on (Tabelle2.ID = Tabelle1.ID1)

union

select Tabelle2.bla from Tabelle2
Left Outer Join Tabelle1 on (Tabelle2.ID = Tabelle1.ID2)
Vielleicht reicht jetzt nen normaler join ?

3. den left outer join vermeiden
3.1 not Exists (kommt auf die Tabellenstruktur an)

3.2 inner join (also normaler join)
einen Dummyrecord eintragen, so das der Join immer ein Ergebnis hat

Bsp: Personal -> Personalgruppe
hat eine Person keine Personalgruppe, wird 0 als FK eingetragen
die Tabelle Personalgruppe hat einen Record mit 0, wo z.B. Name leer ist.


4. Das Ergebnis dirch zusätzliche Where-Bedingungen einschränken
(Index dort drauf)


Heiko
Heiko
  Mit Zitat antworten Zitat