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

Home -> Community -> Mailing Lists -> Oracle-L -> ODBC Driver Behaviour?

ODBC Driver Behaviour?

From: Niall Litchfield <niall.litchfield_at_gmail.com>
Date: Thu, 7 Oct 2004 14:11:22 +0100
Message-ID: <7765c897041007061154c9adfc@mail.gmail.com>


I'm really hoping that

  1. This is known ODBC Driver behaviour and
  2. something can be done about it without touching the code (i.e there is a way of modifying the behaviour).

We have a 3rd party app (probably C or C++) that is slow (and unreliable and other stuff). Its our internal IT helpdesk system so I haven't paid much attention to it until now.

One of the reasons it is slow is that it exhibits the following behaviour

parse "select * from tab where .... order by ..."; parse *and execute* "select rowid,* from tab where ...order by ..";

The statements only differ in that the one that is executed selects out rowid as well as the table data. The first statement is NEVER executed.

For the statement that *is* executed it is almost always executed exactly twice the number of times that it is parsed (leading me to think that the results of the first fetch are just thrown away).

I'm trying to work out a nice way of asking the vendor why they are doing so much utterly useless work (and doing row at a time processiong instead of set processing and so on) but in the mean time has anybody else seen this sort of behaviour with ODBC apps.

Windows XP Clients running 9204 and 9204 ODBC Driver Windows Server also running 9204. (Same behaviour on the 9205 test environment).

Cheers

Niall

--

Niall Litchfield
Oracle DBA
http://www.niall.litchfield.dial.pipex.com
--

http://www.freelists.org/webpage/oracle-l Received on Thu Oct 07 2004 - 08:07:05 CDT

Original text of this message

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