Habe mal folgendes probiert :
SQL-Code:
set term #;
execute block
as
declare variable ID1 INTEGER;
declare I int = 0;
begin
while (i < 100) do
begin
execute statement 'SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = 9 ORDER BY TB.BUCHUNG DESC' INTO ID1;
i = i + 1;
end
end
#
set term ;#
wobei ich beim PErsonalID un auf verscheiden filtere ...
Code:
PersonalID=9 -> 2.4 Sekunden (SELECT count(*) FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = 9 -> 3 Einträge)
PersonalID=2 -> 20 ms (SELECT count(*) FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = 2 -> 400 Einträge)
PersonalID=20 -> 20 ms (SELECT count(*) FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = 20 -> 6000 Einträge)
PersonalID=60 -> 2.4 Sekunden (SELECT count(*) FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = 60 -> 4 Einträge)
Wie hängt das da zusammen?, je wenige einträge ein personal hat, desto länger dauert die abfrage?!?!?!?!?!
Ich verstehe das absolut nicht mehr