Hi!
 
I would like to have your opinion on the fastest way to insert 300k rows
into a database.
 
Here are 2 ways I tought about.
Method 1 :
startBatch();
for (int i = 0; i < myObjects.size(); i++) {
  insert("MyObject.insert", myObjects.get(i));
}
executeBatch();
 
SqlMap
<insert id="insert">
INSERT INTO TABLE MyObject(prop1, prop2)
VALUES (#prop1.id#, #prop2.id#)
</insert>
 
 
Method 2 :
startBatch();
for (int i = 0; i < myObjects.size(); i += 30000) {
  insert("MyObject.insert", myObjects.subList(i, Math.min(i + 30000,
myObjects.size())));
}
executeBatch();
 
SqlMap
<insert id="insert">
INSERT INTO TABLE MyObject(prop1, prop2)
VALUES (#prop1.id#, #prop2.id#)
</insert>
 
 
Maybe I'm way off... So I would like to know about your experiences.
 
Thanks
Christian

Reply via email to