Die addBatch-Methode der Klasse PreparedStatement wird für die Ausführung von Batch-Einfügungen (oder breiten Einfügungen) verwendet. Es folgen einige Richtlinien zur Verwendung dieser Methode.
Eine INSERT-Anweisung sollte unter Verwendung einer der prepareStatement-Methoden für die Klasse Connection vorbereitet werden.
// Build the INSERT statement String sqlStr = "INSERT INTO Departments " + "( DepartmentID, DepartmentName ) " + "VALUES ( ? , ? )"; // Prepare the statement PreparedStatement stmt = con.prepareStatement( sqlStr ); |
Die Parameter für die vorbereitete INSERT-Anweisung sollten folgendermaßen festgelegt und in Stapeln gesetzt werden.
// loop to batch "n" sets of parameters for( i=0; i < n; i++ ) { // "stmt" is the original prepared insert statement from step 1. stmt.setSomeType( 1, param_1 ); stmt.setSomeType( 2, param_2 ); . . . // There are "m" parameters in the statement. stmt.setSomeType( m , param_m ); // Add the set of parameters to the batch and // move to the next row of parameters. stmt.addBatch(); } |
Beispiel:
for( i=0; i < 5; i++ ) { stmt.setInt( 1, idValue ); stmt.setString( 2, name ); stmt.addBatch(); } |
Der Batch muss unter Verwendung der executeBatch-Methode der Klasse PreparedStatement ausgeführt werden.
BLOB-Parameter werden in Batches nicht unterstützt.
Wenn Sie Batch-Einfügungen mit dem SQL Anywhere-JDBC-Treiber durchführen, wird empfohlen, eine kleine Spaltengröße zu verwenden. Die Verwendung von Batch-Einfügungen, zum Einfügen von großen Binär- oder Zeichendaten in long binary- oder long varchar-Spalten wird nicht empfohlen und kann zu einer Verminderung der Performance führen. Der Grund dafür ist, dass der SQL Anywhere-JDBC-Treiber viel Speicherplatz zuweisen muss, um die einzelnen Batch-Einfügezeilen aufzunehmen. In allen anderen Fällen sollte die Verwendung von Batch-Einfügungen eine bessere Performance liefern als die Verwendung von einzelnen Einfügungen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |