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