ODBC: performance problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ODBC: performance problem

Dmitry Zamotkin-4
Hello, all,

I have tried to retrieve data from Oracle database throught Dolphin Database
Connection. And I revealed performance problem in fetch implementation.
Method ODBCLibrary >>sqlExtendedFetch:... always works like >>sqlFetch:,
fetching only single row. You can test it by setting breakpoint in
DBResultSet>>xFetch:at:.

Any comments?

Dmitry


--
Posted from info.tvcom.ru [194.87.73.17]
via Mailgate.ORG Server - http://www.Mailgate.ORG


Reply | Threaded
Open this post in threaded view
|

Re: performance problem

Blair McGlashan
Dmitry

You wrote in message news:000b01c0a6e0$69823540$[hidden email]...
>
> I have tried to retrieve data from Oracle database throught Dolphin
Database
> Connection. And I revealed performance problem in fetch implementation.
> Method ODBCLibrary >>sqlExtendedFetch:... always works like >>sqlFetch:,
> fetching only single row. You can test it by setting breakpoint in
> DBResultSet>>xFetch:at:.
>
> Any comments?

Is this really a performance problem with Oracle? We haven't found it to be
with other DBs (generally the various driver layers do their own buffering
it seems). I have heard that Oracle's ODBC drivers are poor, but I have no
personal experience with them.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

R: performance problem

Giorgio Ferraris
Dmitry,

It's a long time I don't work with ODBC against an Oracle DB, But I remember
last time I did that the Merant (at that time Intersolv) ODBC driver where
much more performing than the Oracle native one.
You can easily check this if you go to the merant WEB site and download a 30
days eval of theyr ODBC, they are called DataDirect.


Ciao


--
Giorgio Ferraris
Eleven srl
Moncalieri (TO) Italy




Blair McGlashan <[hidden email]> wrote in message
985m1s$e7nn$[hidden email]...

> Dmitry
>
> You wrote in message news:000b01c0a6e0$69823540$[hidden email]...
> >
> > I have tried to retrieve data from Oracle database throught Dolphin
> Database
> > Connection. And I revealed performance problem in fetch implementation.
> > Method ODBCLibrary >>sqlExtendedFetch:... always works like >>sqlFetch:,
> > fetching only single row. You can test it by setting breakpoint in
> > DBResultSet>>xFetch:at:.
> >
> > Any comments?
>
> Is this really a performance problem with Oracle? We haven't found it to
be
> with other DBs (generally the various driver layers do their own buffering
> it seems). I have heard that Oracle's ODBC drivers are poor, but I have no
> personal experience with them.
>
> Regards
>
> Blair
>
>


Reply | Threaded
Open this post in threaded view
|

Re: ODBC: performance problem

Dmitry Zamotkin-4
In reply to this post by Dmitry Zamotkin-4
> It's a long time I don't work with ODBC against an Oracle DB, But I
remember
> last time I did that the Merant (at that time Intersolv) ODBC driver where
> much more performing than the Oracle native one.
> You can easily check this if you go to the merant WEB site and download a
30
> days eval of theyr ODBC, they are called DataDirect.

OK, Merant driver works twice faster, thanks. But problem is not in Oracle
driver or server. I assert that fetch in Dolphin Database Connection ALWAYS
get ONLY 1 row. I'll try to rewrite this package for my needs, but
object-arts.com team must know about this imperfection too (and something to
do to correct, I suppose).

> Ciao
Do svidaniya :)


--
Posted from info.tvcom.ru [194.87.73.17]
via Mailgate.ORG Server - http://www.Mailgate.ORG


Reply | Threaded
Open this post in threaded view
|

Re: ODBC: performance problem

Jerry Bell
I went down that road before, and did not get much in the way of performance
gain.  I either had a flaw in my implentation, or the driver (SQL 6.5 ODBC)
was handling the caching on my client, so fetching 1 row at a time wasn't
much of a problem.  The code is old (2.1?) and probably in bit-heaven by
now.

Make sure you get Ian's profiler so you don't have to guess where the
problem is - in my case it turned out that the float conversion (I think)
was slowing me down most at that time- that's fixed in 4.0.  There was also
a thread earlier this year which mentioned lack of garbage collection in
tight ODBC loops (say you're doing something to a 10,000 row query) - if
your memory usage goes high enough and you start thrashing the disk you'll
slow to a crawl.   Running an explicit garbageCollect every few hundred rows
helps.

Good luck and good hunting!

Jerry Bell
[hidden email]


"Dmitry Zamotkin" <[hidden email]> wrote in message
news:009c01c0aa11$5f52c600$[hidden email]...
> > It's a long time I don't work with ODBC against an Oracle DB, But I
> remember
> > last time I did that the Merant (at that time Intersolv) ODBC driver
where
> > much more performing than the Oracle native one.
> > You can easily check this if you go to the merant WEB site and download
a
> 30
> > days eval of theyr ODBC, they are called DataDirect.
>
> OK, Merant driver works twice faster, thanks. But problem is not in Oracle
> driver or server. I assert that fetch in Dolphin Database Connection
ALWAYS
> get ONLY 1 row. I'll try to rewrite this package for my needs, but
> object-arts.com team must know about this imperfection too (and something
to
> do to correct, I suppose).
>
> > Ciao
> Do svidaniya :)
>
>
> --
> Posted from info.tvcom.ru [194.87.73.17]
> via Mailgate.ORG Server - http://www.Mailgate.ORG


Reply | Threaded
Open this post in threaded view
|

Re: Re: ODBC: performance problem

Dmitry Zamotkin-4
 
 
"Jerry Bell" <[hidden email]> wrote in message: <A href="news:98fvc4$1q53n$1@ID-57200.news.dfncis.de">news:98fvc4$1q53n$1@......
 
> Make sure you get Ian's profiler ...
 
Already my first-aid set...
 
 
> Running an explicit garbageCollect every few hundred rows helps.
 
It not help but slows down.
 
I've made another test. I've created link to Oracle ODBC source in MS Access. Speed of fetching in Access is same as in native Oracle workspace (SQL+) and 5 times faster then Dolphin Database Connection.