ClientSide / ServerSide Cursors

ClientSide / ServerSide Cursors

Post by Tim » Sun, 02 Sep 2001 04:21:38



Hello,

Have any of you experienced a dramatic slowdown when using ClientSide
cursors as opposed to ServerSide cursors?

I have code that has been running fine. I made some changes that required
the recordset be connectionless. So I changed the CursorLocation to
adUseClient. Now the call to create the recordset times-out.

I've also experienced this when using forward-only recordsets as opposed to
adOpenStatic.

Thanks in advance.

Tim

 
 
 

ClientSide / ServerSide Cursors

Post by Bob Barrow » Sun, 02 Sep 2001 05:15:07


The fastest cursor to use is forward-only. When you open a server-side
recordset without specifying the cursor type, that's what you get. A
forward-only cursor sends one record at a time across the wire, as they are
requested.

When you specify a client-sife cursor, you get a static cursor. A static
cursor contains all the records requested in the recordset source - if it's
a table, you get the whole table coming across the wire. This is one of the
reasons client-side cursors support RecordCount: they contain ALL the
records requested - so RecordCount is known.

This makes it critical that you use criteria to limit the records in your
client-side cursors to just the records that are needed. Get out of the
habit of opening a recordset on atable and using Find or Filter to navigate
to the record you need.

--
HTH,
Bob Barrows
Please reply to the newsgroup. My reply-to address is my "spam trap" and I
don't check it very often.


Quote:> Hello,

> Have any of you experienced a dramatic slowdown when using ClientSide
> cursors as opposed to ServerSide cursors?

> I have code that has been running fine. I made some changes that required
> the recordset be connectionless. So I changed the CursorLocation to
> adUseClient. Now the call to create the recordset times-out.

> I've also experienced this when using forward-only recordsets as opposed
to
> adOpenStatic.

> Thanks in advance.

> Tim