This content has been marked as final. Show 3 replies
There's probably more going on that just the query(s) you're issuing.
You'll want to look at the contents of the packets to see what is going on behind the scenes, or enable sqlnet tracing which will get you the same thing. ODBC tracing would probably be good too.
My best guess is that the application or app framework is making ODBC API calls like SQLTables (which generates a big data dictionary query to all_objects and all_synonyms to determine what tables the user has access to) and a lot of data is being returned, even if the actual query you're issuing returns no rows.
You may want to open a SR with support, we're used to looking at the traces and can tell you fairly quickly where the time is spent and what is going on behind the scenes.
Edited by: gdarling on Mar 22, 2012 7:34 PM
I opened an SR and submitted SQLNet Trace Logs as you suggested but couldn't get the person handling the case to tell me what was going on behind the scenes or where the time was spent. I need to get this system on-line and I am running up against a hard deadline. I created a SQL Server version of the same database and it runs circles around Oracle. An operation within the application that takes 3.5 minutes when connected to Oracle takes only 5 seconds when connected to SQL Server. Both use ODBC. The difference is the amount of time it takes to execute the thousands of TCP/IP packets generated by the Oracle connection.
Do you have any other suggestions?
If possible try using a native oracle driver Oracle Objects for OLE (OO4O).