Langsames executeQuery

Copia

Grünschnabel
Hallo zusammen,

ich hab ein Problem mit einem Query.
Ich habe eine Funktion implementiert und mir ist aufgefallen, dass sie etwas langsam (ein paar Sekunden) ist.
Ich konnte die Ursache nun bis auf den Code unten zurückführen.

Code:
Date start = new Date();
ResultSet rs = stm.executeQuery();
System.out.println("select max took: " + (new Date().getTime() - start.getTime()));

Dort kommt immer eine Zahl von 300-400 raus.
Das Statement ist dabei nur folgendes:

Code:
SELECT MAX (id) FROM knd_zutaten WHERE group = ?

Ich hab gelesen, dass MAX langsam ist und dann in

Code:
SELECT id FROM knd_zutaten WHERE group = ?  ORDER BY id DESC LIMIT 1

was aber auch keine Verbesserung gebracht hat...

Ich habe versucht, den/die/das Query am Anfang des Programms nachzustellen, da scheint es total schnell zu gehen, da kommt nämlich 0 raus....
Auch wenn ich den/die/das Query direkt in der DB ausführe, dauert's nur 16 ms...

Hat jemand 'ne Idee, woran das liegen kann?
 
Zuletzt bearbeitet:
Zurück