You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Tegan Clark <te...@yahoo.com> on 2007/01/06 00:16:54 UTC

Ibatis performance vs JDBC

Group,
   
  I've been doing some due-diligence performance comparisons between JDBC and iBATIS and everything has pared out as I would expect (iBATIS has a very small overhead), other than in one case where I call an Oracle stored procedure that takes an Oracle custom type I set in a type handler.  iBATIS is much slower than JDBC (50% slower) and I have tracked down the discrepancy to where SqlExecuter retrieves the ResultSet from the CallableStatement:
   
  private void retrieveOutputParameters(RequestScope request, CallableStatement cs, 
     ...
     ResultSet rs = (ResultSet) cs.getObject(i + 1);
   
  I get a long pause while the result set is fetched, that I don't in my JDBC implementation.  Anyone got any ideas about how iBATIS might be setting things up differently or come across something like this before?
   
  Thanks for the help.
   
  Tegan
   

 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Re: Ibatis performance vs JDBC

Posted by Clinton Begin <cl...@gmail.com>.
Very strange.  There's nothing I can think of off hand.  As you've noted,
iBATIS doesn't do anything special, it just makes the call.

Cheers,
Clinton

On 1/5/07, Tegan Clark <te...@yahoo.com> wrote:
>
> Group,
>
> I've been doing some due-diligence performance comparisons between JDBC
> and iBATIS and everything has pared out as I would expect (iBATIS has a very
> small overhead), other than in one case where I call an Oracle stored
> procedure that takes an Oracle custom type I set in a type handler.  iBATIS
> is much slower than JDBC (50% slower) and I have tracked down the
> discrepancy to where SqlExecuter retrieves the ResultSet from the
> CallableStatement:
>
> private void retrieveOutputParameters(RequestScope request,
> CallableStatement cs,
>    ...
>    ResultSet rs = (ResultSet) cs.getObject(i + 1);
>
> I get a long pause while the result set is fetched, that I don't in my
> JDBC implementation.  Anyone got any ideas about how iBATIS might be setting
> things up differently or come across something like this before?
>
> Thanks for the help.
>
> Tegan
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>