Umgangssprachlich, wenn Entwickler den Ausdruck JDBC-Aufruf verwenden, sprechen sie davon, Informationen über das Kabel an die Datenbank zu senden. Mit der Batch-Funktion der JDBC-API können Sie mehrere separate Vorgänge in einem einzigen Netzwerkaufruf übergeben, im Gegensatz zu einem Aufruf für jede SQL-Anweisung. Aus der JDBC-Spezifikation :
Die Stapelaktualisierungsfunktion ermöglicht einem Statement-Objekt das Senden einer Menge von heterogene SQL-Anweisungen zusammen als eine Einheit oder Batch zu die zugrunde liegende Datenquelle.
Bei PreparedStatement besteht der zusätzliche Vorteil, dass nur eine einzelne Anweisung erstellt werden muss. Dadurch können Sie die gleiche Abfrage mit mehreren Sets von Bindeparametern ausführen, ohne die Anweisung selbst mehrfach zum Stapel hinzuzufügen. Das Endergebnis ist weniger Netzwerkverkehr und der damit verbundene Overhead.
Ein Beispiel aus der Spezifikation:
%Vor%Wie in IBM Dokumentation :
Die JDBC-Treiber, die JDBC 2.0 und höher unterstützen, unterstützen Stapel Aktualisierung. Mit Batch-Aktualisierungen, anstatt Zeilen eines DB2 (R) zu aktualisieren Tabelle für Zeile können Sie JDBC anweisen, eine Gruppe von Aktualisierungen auszuführen gleichzeitig. Anweisungen, die in derselben Charge enthalten sein können Aktualisierungen werden als batchbare Anweisungen bezeichnet.
Wenn eine Anweisung Eingabeparameter oder Hostausdrücke hat, können Sie Fügen Sie diese Anweisung nur in einen Batch ein, der andere Instanzen des gleiche Aussage. Diese Art von Charge wird als homogene Charge bezeichnet. Ob Eine Anweisung hat keine Eingabeparameter, Sie können diese Anweisung in einschließen ein Stapel nur, wenn die anderen Anweisungen im Stapel keine Eingabe haben Parameter oder Host-Ausdrücke. Diese Art von Charge ist bekannt als heterogene Charge. Zwei Anweisungen, die in demselben enthalten sein können Batch sind als Batch-kompatibel bekannt.
beim Aufruf von JDBC Update Java-Programm Verbindung zum Datenbankserver und führen Sie die Abfrage, bedeutet dies für jedes Update Java-Programm Kontakt Datenbankserver und führen Sie die Abfrage. Gleichzeitig, wenn wir JDBC Batch-Update verwenden, müssen Java-Anwendung den Datenbankserver nur einmal kontaktieren und führen Sie alle Abfragen auf dem Datenbankserver und zurück zur Java-Anwendung.
Kurz gesagt, es wird die Rundreise zwischen Java-Anwendung und Datenbankserver reduzieren, normalerweise werden beide in verschiedenen Servern sein, so dass es viel in der Netzwerkressource hilft, daher die bessere Leistung zu erreichen.