I am working on some Oracle performance issues with our web application. One thing I noticed that seems to confuse any tests is that simple queries that return a lot of results are still very slow. For example:
select * from TPM_PROJECTWORKGROUPS;
When I run it, I get:
5825 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 59s] [Executed: 9/22/2011 1:52:38 PM] [Execution: 203ms]
If I understand this correctly, it means that the actual request took 203 ms, but it took 59 seconds for this data to be returned to the client, is there a βfetchβ in this case?
I do not have access to a direct connection to the database machine and the query is executed locally, but can it be assumed that the actual network bandwidth is the culprit? This makes sense since I'm in Seattle and the server is in New York, but still the minute for 5800 lines seems pretty slow end-to-end.
Is there any quick advice for a) confirming that network bandwidth is really a problem, and b) any "gotchas" or things to check why serialization of data over the wire is so slow? Thanks!
Several comments-based updates:
SELECT COUNT (*) FROM (select * from TPM_PROJECTWORKGROUPS) t;
Results:
1 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 0ms] [Executed: 9/22/2011 2:16:08 PM] [Execution: 219ms]
And if I try to select only one column:
CHOOSE A DESIGNER FROM TPM_PROJECTWORKGROUPS;
Results:
5825 records selected [Fetch MetaData: 0ms] [Fetch Data: 1m 0s]
[Completed: 9/22/2011 2:17:20 PM] [Execution: 203ms]
Table layout:
PROJECTID (NUMBER) WORKGROUPID (NUMBER)
Mike christensen
source share