Thanks a lot both of you!
That a possibility I didn't check. I would need to create a temp file
(or some sort of input), but performance is likely to be more
interesting.

Christian


-----Original Message-----
From: Christopher Lamey [mailto:[EMAIL PROTECTED] 
Sent: Monday, December 17, 2007 5:31 PM
To: [email protected]
Subject: Re: Best way to insert thousands of records

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

Reply via email to