Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle API for C/C++ ?

Re: Oracle API for C/C++ ?

From: Kelly Burkhart <kburk_at_sky.net>
Date: 21 Oct 1999 00:44:47 -0500
Message-ID: <m3zoxdi7xs.fsf@speedy.sky.net>


Jeffery Cann <jccann_at_home.com> writes:

> --------------867472A163F7DA7140D20B00
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit
>
> Peter Sylvester wrote:
>
> > Shawn Lavin wrote:
> > >
> > > Several points to add :
> > >
> > > The Oracle precompiler actually converts Pro*C calls into OCI
> > > calls.
> > >
> >
> > Not so!
> > Stange as it may seem, the Pro*C precompiler uses a different
> > (undocumented) interface (sqlcxt, etc).
>
> Pro*C is also much slower, especially over SQL*NET, than either OCI or
> OTL. This is because of the SQLCA structure that is supported by
> Pro*C. Each time you send a db command, this structure has to be filled
> with state information. Due to the fairly significant overhead of
> SQL*NET (sits on top of TCP/IP), we have found OTL to be 2-3x faster
> than Pro*C for the same database and code.
>

The speed up you notice is probably due to OTL using array fetches which can make a huge difference if you are going over SQL*Net. Pro*C supports array fetches, and probably could be made to perform as well as OTL. I would be very surprised if Pro*C is 2-3 times slower than OCI in a fair comparison.

--
Kelly R. Burkhart
kburk_at_sky.net

Just enjoy the Ozzy and keep your mouth shut

Received on Thu Oct 21 1999 - 00:44:47 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US