Hallo,
ich versuche folgende Abfrage auszuführen (Firebird 2.1.3):
select SUM(ANZAHL_A*TAGESPREIS) GESPREIS from WAEBEWEGUNGEN where WID=:WID and AUSGANG='T' and ADATUM<='31.12.2010' and ADATUM>='01.01.2010';
Das dauert ewig... Also: die Anzahl der zu durchlaufenden WID's is ca. 5.500 - in der abzufragenden Datenbank WAEBEWEGUNGEN sind ca. 300.000 Einträge und sie hat einen PK. Mein SQL-Tool sagt mir folgendes (und bestätigt damit die Langsamkeit):
Prepare: 0 ms Execute: 344 ms Fetch: 344 ms
-> denn daraus ergibt sich: 5500*0,35=1925 sek. -> 1925/60=32,1 Minuten für diese Abfrage. Als StoredProcedure gehen die Zeiten unwesentlich auf ca. 318 ms herunter...immer noch viel zu lang.
Hat da jemand eine Idee, wo das Haken kann?
Hartmut
ich versuche folgende Abfrage auszuführen (Firebird 2.1.3):
select SUM(ANZAHL_A*TAGESPREIS) GESPREIS from WAEBEWEGUNGEN where WID=:WID and AUSGANG='T' and ADATUM<='31.12.2010' and ADATUM>='01.01.2010';
Das dauert ewig... Also: die Anzahl der zu durchlaufenden WID's is ca. 5.500 - in der abzufragenden Datenbank WAEBEWEGUNGEN sind ca. 300.000 Einträge und sie hat einen PK. Mein SQL-Tool sagt mir folgendes (und bestätigt damit die Langsamkeit):
Prepare: 0 ms Execute: 344 ms Fetch: 344 ms
-> denn daraus ergibt sich: 5500*0,35=1925 sek. -> 1925/60=32,1 Minuten für diese Abfrage. Als StoredProcedure gehen die Zeiten unwesentlich auf ca. 318 ms herunter...immer noch viel zu lang.
Hat da jemand eine Idee, wo das Haken kann?
Hartmut
Comment