ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralf Assmann <ralf.assm...@innovations.de>
Subject Re: Bad Performance Using Ibatis?
Date Fri, 01 Sep 2006 18:19:31 GMT

Thanks for this thread, I have read it before :-)

You are right, doing a performance test, I made a for-loop using jdbc 
vs. ibatis. And I used startTransaction etc. The code looks anything 
like this:

sqlMap.startTransaction();
for-loop, inserting data using ibatis; doing sqlMap.commitTransaction() 
every 1000 inserts
sqlMap.commitTranscation() after the last insert
sqlMap.endTransaction();

Or is it necessary to start a transaction every 1000 inserts?

By the way, using "plain jdbc-statements", I did the same (without 
start- and end transaction of course).

Clinton Begin schrieb:
>
> Yay!  It's our monthly performance concern! 
>
> Rest assured, for 99% of cases, iBATIS is within milliseconds of JDBC 
> performance.
>
> This comes  up once a month, where someone creates a couple of for{} 
> loops with JDBC vs. iBATIS....
>
> 9 times out of 10 the code is the problem -- inappropriate transaction 
> handling, is the most common mistake.
>
> In any case, you might want to read this thread.
>
> http://www.mail-archive.com/user-java@ibatis.apache.org/msg04760.html
>
> The key point:  "
> When I excluded the
> startTransaction/commitTransaction/endTransaction...my process took 5
> minutes to run.  When I included it, I got my full process to run under 1
>
> minute.  This is directly equal to the speed I found when using straight
> Jdbc and/or Spring Jdbc Templates.
> "
>
> Batching and reflection optimization are icing on the cake.  Even 
> without them, iBATIS should be nearly as fast as JDBC ( i.e. not 
> noticably slower).
>
> Cheers,
> Clinton
>
> On 9/1/06, *Ralf Assmann* <ralf.assmann@innovations.de 
> <mailto:ralf.assmann@innovations.de>> wrote:
>
>
>     Hi there,
>
>     making a performance test with ibatis, we got a very slow runtime.
>     Inserting 100000 rows into a table, we took more than twice the time
>     than using own-written prepared statements. The time was definitely
>     lost during the transaction time writing the data to the database,
>     calling sqlMap.insert(...).
>
>     Does anyone know if this runtime is normal while using ibatis or is
>     there any xml-parameter to optimize it?
>
>     Many thanx,
>
>
>     Ralf
>
>

Mime
View raw message