|
What you are doing wrong is attempting to insert one row at a time.
If you've got 1000 rows ready to insert, insert them in one statement.
See if you can do a "blocked insert" into SQL Server using the JBDC driver.
Here's an example of a blocked insert into DB2:
//Create a database connection
Connection c = DriverManager.getConnection("jdbc:db2:*local;use block
insert=true");
BigDecimal bd = new BigDecimal("123456");
// Create a PreparedStatement to insert into a table with 4 columns
PreparedStatement ps =
c.prepareStatement("insert into cujosql.xxx values(?, ?, ?, ?)");
// Start timing...
for (int i = 1; i <= 10000; i++) {
ps.setInt(1, i); // Set all the parameters for a row
ps.setBigDecimal(2, bd);
ps.setBigDecimal(3, bd);
ps.setBigDecimal(4, bd);
ps.addBatch(); //Add the parameters to the batch
}
// Process the batch
int[] counts = ps.executeBatch();
// End timing...
Notice the "use block insert=true" in the getConnection call. Also the call
to ps.executeBatch().
HTH,
Charles
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.