2 Stimmen

SQL läuft langsam, wenn es über Java ausgeführt wird.

Ich versuche, eine Abfrage in der Oracle-Datenbank auszuführen. Wenn ich versuche, die Abfrage über SQLTools auszuführen, wird die Abfrage in 2 Sekunden ausgeführt, und wenn ich dieselbe Abfrage über JAVA ausführe, dauert es mehr als eine Minute.

Ich benutze einen Hinweis /*+ordered use_nl (a, b)*/

Ich verwende ojdbc6.jar Liegt es an irgendwelchen JARs? Bitte helfen Sie, was das verursacht?

1voto

Für Oracle 9i oder höher kann der Datenbank-Engine SQL automatisch optimieren, in wenigen Fällen müssen Hinweise angegeben werden.

Wie führen Sie eine Abfrage in Java aus, wiederholen Sie die Ausführung in einer Schleife? Verwenden Sie Parameter? Vorbereiten vor der Ausführung?

0voto

b.roth Punkte 9147

Sie müssen Ihre Java-Anwendung profilieren, um zu identifizieren, wo im Java-Code vor oder nach der SQL-Ausführung diese zusätzliche Zeit verbracht wird.

Einige Profiling-Tools, die Sie dafür nutzen können, sind: YourKit, JProfiler und HPROF (dieses ist ein Befehlszeilentool).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X