Thursday, March 22, 2012

Connection pooling and recordsets

Hi,
I am trying to speed up database operations of an application. The
app is separated from the SQL Server database by a WAN and they talk
through ODBC.
Operations are as slow as cold molasses.
Today I am looking at the option of enabling connection pooling. But
from what I read, I am pessimistic about whether it helps in my case.
Could some of you guys confirm my understanding?
The application opens 3 databases and keeps them open for the duration
of the program, closing them just before exiting. Meanwhile
recordsets are opened, data is retrieved, and recordsets are closed by
the dozen. It is these recordset operations that are taking their
sweet time.
Based on this scenario, am I correct to say that connection pooling
will play a a negligible effect on the application's performance?
(Because only 3 connections are done).
Thanks for any help.
-fdsI'd say you were correct. If you're keeping connections open for the
duration, then they'll never get closed and returned to the pool.
Connection pooling helps in distributed applications where connections
are continuously opened and closed, not where they're just held open
all the time. You also need to have identical connection strings and
security credentials to derive any benefit from connection pooling.
Remember that no matter what you do, you can only go as fast as the
wire permits. In your case, you may derive more benefit from
techniques that minimize the amount of data that travels over the WAN
on each call.
--Mary
On 5 Nov 2004 08:27:21 -0800, francisds@.hotmail.com (Francis DS)
wrote:

>Hi,
>I am trying to speed up database operations of an application. The
>app is separated from the SQL Server database by a WAN and they talk
>through ODBC.
>Operations are as slow as cold molasses.
>Today I am looking at the option of enabling connection pooling. But
>from what I read, I am pessimistic about whether it helps in my case.
>Could some of you guys confirm my understanding?
>The application opens 3 databases and keeps them open for the duration
>of the program, closing them just before exiting. Meanwhile
>recordsets are opened, data is retrieved, and recordsets are closed by
>the dozen. It is these recordset operations that are taking their
>sweet time.
>Based on this scenario, am I correct to say that connection pooling
>will play a a negligible effect on the application's performance?
>(Because only 3 connections are done).
>Thanks for any help.
>-fds

No comments:

Post a Comment