Yea, that's immediately what I thought - don't go through Java. Each RDBMS
has its own bulk import tool. Oracle has sqlldr, MS SQL Server has bc.exe,
postgres has the copy statement. They are much much faster than going the
JDBC at all.
On 12/17/07 3:14 PM, "Larry Meadors" <[EMAIL PROTECTED]> wrote:
> Do we have to use iBATIS...or Java for that matter?
>
> Larry
>
>
> On Dec 17, 2007 3:00 PM, Poitras Christian <[EMAIL PROTECTED]>
> wrote:
>>
>>
>> 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