Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#9

AW: SQL dauert zu lange

  Alt 23. Jun 2016, 09:23
...
Wenn ich das ganze ohne die letzte Zeile mache mache dauert es ca. 2 Sekunden. Mit dieser Bedingung dauert es ca. 22 Sekunden.
Wie lange dauert es denn, wenn du die Abfrage nur mit der letzten Bedingung (Zeile) absendest?
SQL-Code:
from MASTER
Left Outer JOIN SLAVE on MASTER.Vorgangsnummer = SLAVE.Vorgangsnummer and (SLAVE.ZusatzStatus = 'EZor SLAVE.ZusatzStatus = 'EVor
                                                                    SLAVE.ZusatzStatus = 'EFor SLAVE.ZusatzStatus = 'EAor
                                                                    SLAVE.ZusatzStatus = 'EQor SLAVE.ZusatzStatus = 'EP')
Left Outer Join MASTER UrMaster on MASTER.Vorgangursprung = UrMaster.Vorgangsnummer
where (UrMaster.referenznr = 'ABT_25' )
Das dürfte aber zu einem vollständig anderen Ergebnis führen, da die Abfrage auf die ReferenzNr ja nur ein Teil innerhalb der letzten AND-Bedingung ist. Diese Bedingung wird ja nur auf eine bereits erstellte Teilmenge angewandt und nicht auf die Ursprungstabelle. Von daher könnte ich mir vorstellen, dass dort die Nutzung des Index für die Datenbank nicht mehr möglich ist.

Eventuell könnte es aber hilfreich sein, im zweiten Left-Join grundsätzlich auf UrMaster.referenznr <> 'ABT_25' einzuschränken und in einem dritten Left-Join nur die Besonderheiten von UrMaster.referenznr = 'ABT_25' "abzuarbeiten".
  Mit Zitat antworten Zitat