Opening query blocks all other threads - OCI problem?
Posted: Thu 25 May 2006 22:03
I run a lot of different queries and have run into a problem.
Most queries are very fast, but some take up to a minute.
Whilst waiting for a long running query to open, it would be nice for the user to see other queries being processed, but they can't
Tried multiple threads with one Connection, small queries blocked by long queries.
Tried multiple connections each with a thread, a long running query on one connection blocks the opening of small queries on others.
Tried different connections to different physical servers, long running Query on server A blocked query opening on server B!
Isolated problem to call on OCIStmtFetch where the blocking happened.
Any ideas? Blocking on a process level seems too restrictive, I feel there must be a way to sove this
Many thanks
Neil
Most queries are very fast, but some take up to a minute.
Whilst waiting for a long running query to open, it would be nice for the user to see other queries being processed, but they can't
Tried multiple threads with one Connection, small queries blocked by long queries.
Tried multiple connections each with a thread, a long running query on one connection blocks the opening of small queries on others.
Tried different connections to different physical servers, long running Query on server A blocked query opening on server B!
Isolated problem to call on OCIStmtFetch where the blocking happened.
Any ideas? Blocking on a process level seems too restrictive, I feel there must be a way to sove this
Many thanks
Neil