ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Lamey <cla...@localmatters.com>
Subject Re: Best way to insert thousands of records
Date Mon, 17 Dec 2007 22:30:46 GMT
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" <lmeadors@apache.org> wrote:

> Do we have to use iBATIS...or Java for that matter?
> 
> Larry
> 
> 
> On Dec 17, 2007 3:00 PM, Poitras Christian <Christian.Poitras@ircm.qc.ca>
> 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


Mime
View raw message