Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

ORDER in Unterselect sehr langsam

  Alt 13. Okt 2009, 11:45
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBConsole
Hallo, ich verwende folgendes Statemant

SQL-Code:
SELECT P.ID, (SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = P.ID ORDER BY TB.BUCHUNG DESC) AS AUFTRAGID
FROM PERSONAL P
als Plan bekomme ich folgendes raus
Code:
PLAN (TB ORDER TB_BUCHUNG INDEX (TB_PERSONALID))
PLAN (P NATURAL)
würde eigetnlich gut aussehen, aber leider ist es sehr langsam (5 Sekunden)

im vergleich ohne dem ORDER
SQL-Code:
SELECT P.ID, (SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = P.ID) AS AUFTRAGID
FROM PERSONAL P
als PLAN

Code:
PLAN (TB INDEX (TB_PERSONALID))
PLAN (P NATURAL)
und benötigt ca. 100 ms

das problem ist, das ich dieses statemant sehr oft aufrufen muß, ... und dadurch macht sich diese 5 sekunden sehr bemerkbar

weiss jemand wie ich das beschleunigen kann?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat