prepareAllSQLStatements

Die Builddeskriptoroption prepareAllSQLStatements steuert die Arten von JDBC-Objekten, die EGL zum Ausführen einer SQL-Anweisung verwendet.

Wenn Sie SQL-Anweisungen (außer den gespeicherten Prozeduraufrufen) in einer Java™-Umgebung ausführen, stellt die JDBC-API zwei verschiedene Objekte bereit, um die SQL-Anweisungen an die Datenbank zu senden:
PreparedStatement
Das Objekt wird von der Anweisungsklasse abgeleitet, enthält eine SQL-Anweisung und lässt Parameter zu.
Statement
Dieses allgemeinere Objekt enthält keine SQL-Anweisung und lässt keine Parameter zu.

Welches Objekt von EGL verwendet wird, hängt von einer Reihe von Faktoren ab. EGL generiert immer PreparedStatements für DB2 und Derby. In den meisten Fällen sind PreparedStatements effizienter, da sie vom J2EE-Server im Cache gespeichert und wiederverwendet werden können. In anderen Umgebungen als der J2EE-Umgebung können PreparedStatements zu einer Leistungsverschlechterung führen. Das Erzwingen der Verwendung von PreparedStatements wird daher als Option offen gelassen. Der Standardwert ist NO. Dies bedeutet, dass EGL entscheidet, welches Objekt verwendet werden soll.

Testen Sie beide Einstellungen für Ihre Anwendungen und finden Sie heraus, welche Einstellung Ihnen eine bessere Leistung bringt.

Möglicherweise können Sie Ihre Leistung auch verbessern, indem Sie PreparedStatements im Cache speichern. Details finden Sie im Abschnitt “cachePreparedStatements.”

Werte

Die Builddeskriptoroption prepareAllSQLStatements hat die folgenden Werte:

YES
EGL verwendet das Objekt "PreparedStatement" anstatt des Objekts "Statement", um SQL-Anweisungen an die Datenbank zu senden. Bei DB2 und Derby verwendet EGL immer das Objekt "PreparedStatement", auch wenn Sie die Option auf YES setzen.
NO (Standardwert)
EGL wählt anhand von anderen Faktoren das Objekt "Statement" oder "PreparedStatement" aus.