Gast roaxius Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 Hallo zusammen, ich möchte in Java eine SQL-Abfrage durchführen lassen und die Ergebnisse dynamisch in eine durch Java zu erstellende HTML-Seite schreiben lassen. Soweit so gut. Es klappt auch alles. Ich frage mich lediglich, ob es sinnvoll ist, den SQL-Code hart im Quelltext zu verewigen oder sollte man nicht besser den SQL-Code in ein properties auslagern? Es ist allerdings so, dass sich dieser SQL-Code *nie* wieder ändern wird Zitieren
shad0w Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 also ich hab meine sql statements im code drin. jedoch kann man sicherlich properties oder sowas anlegen ... Zitieren
Gast roaxius Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 Am sinnvollsten pack ich doch die Statements dann mit StringBuffer.append() zu einem StringBuffer hinzu, weise diesen einem PreparedStatement zu und führe dieses anschließende mit executeQuery() aus, oder geht das noch performanter? Hab da nämlich eine *mega* Abfrage hinterhängen Zitieren
PerdianMG Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 Am sinnvollsten pack ich doch die Statements dann mit StringBuffer.append() zu einem StringBuffer hinzu, weise diesen einem PreparedStatement zu und führe dieses anschließende mit executeQuery() aus, oder geht das noch performanter? Also ein PreparedStatement brauchst du ja eigentlich nur dann, wenn du Objekte, oder andere Werte hast, die du je nach genauer Query einsetzen willst. Wenn dein SQL String wirklich von Anfang an _komplett_ feststeht, dann würde ich immer ein "normales" Statement nehmen und den Code fest reinhacken. Wenn du doch irgendwann merkst, dass du doch das ein oder andere Mal eine andere Version nehmen musst dann kann man immer noch auf Properties umsteigen. Ciao Christian Zitieren
jan76 Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 Wenn dein SQL String wirklich von Anfang an _komplett_ feststeht, dann würde ich immer ein "normales" Statement nehmen und den Code fest reinhacken Meist (nicht immer!) sind PreparedStatements aber schneller, da das Statement intern gecachet wird und nicht neu geparst werden muss, was beim "normalen" Statement immer der Fall ist. Daher benutze ich immer PreparedStatements, mit Ausnahme von Batch-Updates, die Oracle leider nur für normale Statements unterstützt :-( Zitieren
Gast roaxius Geschrieben 26. Mai 2003 Geschrieben 26. Mai 2003 Nun gut, dann weiss ich wenigstens, dass ich einen sinnvollen Weg gehe. Es ist zwar etwas langsam, bis endlich der gesamte Report auf der HTML-Seite erscheint, aber das kann mitunter auch daran liegen, dass der ja erst die ganze Abfrage macht und dann die komplette Tabelle schreibt... Vielleicht sollte ich dem das Layout der Tabelle vorher bekannt machen, aber das ist ja eine HTML-Sache und gehört hier nicht her. PreparedStatements muss ich allerdings benutzen, da ich noch einige "?" innerhalb der SQL-Statements habe, die mit dem auf der Auswahlseite gewählten Datum gefüllt werden sollen und daher erst zur Laufzeit feststehen. Aber wenn PreparedStatements eh gut und schnell sind, bin ich ja zufrieden Danke Zitieren
MasterC Geschrieben 4. Juni 2003 Geschrieben 4. Juni 2003 Je nachdem, wie komplex die Statements sind (vielleicht werden verschiedene Abfragen gemacht, um ein Ergebnis zu erreichen) ist es sinnvoll die Statements als Stored Procedures in der Datenbank abzulegen und dann diese Procedure aufzurufen. Zitieren
shad0w Geschrieben 4. Juni 2003 Geschrieben 4. Juni 2003 ich wuerde eigentlich niemals ein normales sql statement in einer stored procedure ablegen. eher wohl in einem view. oder gibt es vorteile bei einer stored procedure? btw. ich hab ein tut 'Improving JDBC performance' von oracle. falls jemand interesse hat, einfach ne pm schreiben. so long Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.