Re: Didn't ADO used to default to client-side cursors?

From: David Gugick (davidg-nospam_at_imceda.com)
Date: 12/03/04


Date: Thu, 2 Dec 2004 20:03:08 -0500

jxstern wrote:
> On Thu, 2 Dec 2004 15:26:17 -0500, "David Gugick"
> <davidg-nospam@imceda.com> wrote:
>> Have you noticed whether the
>> application performs a little slower using the client-side cursor?
>
> A bit faster, actually.
>
> The Execute takes a bit longer, but the client-side cursor is quite a
> bit faster than the server-side, which only makes sense since it
> doesn't have to reach across the network.
>
> J.

Well, it does have to reach across the network and fetch the same result
set on the server in order to create a local ADO result set. I would
think that it shouldn't be faster from execute to load completing unless
something like your packet size with the server cursor is so small that
ADO had more round trips to complete. I don't think ADO uses a
asynchronous load for the client cursor.

Server Side Cursor
Execute
Fetch and load into grid

Client Side Cursor
Execute
Auto-Fetch and create local ADO result set (ADO behind the scenes)
Fetch and load into grid

I'm not saying you need to time everything, but I would think that from
the execution time to the user having a grid full of data would be
faster with a server-side cursor. But as you saw, because the grid load
is a slow process, the result set on the server remains a little longer
and that increases the duration of the query. You could try increasing
the packet size for the query to move more data across the network with
each trip.

-- 
David Gugick
Imceda Software
www.imceda.com 


Relevant Pages

  • Re: ADO Data Control Concurrency Problem
    ... >> Editing of row in table is done with the help of ADO Data Control. ... Cursor location does not bare on whether the ... Client or Server memory. ... reflected in the open recordset. ...
    (microsoft.public.vb.general.discussion)
  • Re: VB connection to SQL server
    ... > the client machine begins to lose its relevance and accuracy as soon as it ... > aware that the data is probably out of date, a client sided cursor might ... > design minimises the possibility that records will have changed in the ... >> The Database server is in the office, and people use the Vb program from ...
    (microsoft.public.vb.database)
  • Re: Client Cursor oder Server Cursor?
    ... > Summa summarum dürfte es jemanden, der seine Programmierung auf ADO die ... So erstellt der SQL Server ein internes ... > Während der Client Cursor für den Abruf ein ForwardOnly/ReadOnly ...
    (microsoft.public.de.sqlserver)
  • Re: Huge memory comsumption of ADODB Connection object
    ... unless the cursor is returning data to the client* I don't see ... I suppose this could cause some extra memory ... Is there a similar behavior in Sybase? ... Server was originally based on that rdbms, so there very well may be. ...
    (microsoft.public.data.ado)
  • Re: VB connection to SQL server
    ... "Chris Barber" wrote in message ... > recordsets (client side cursor) to allow you to persist the recordsets to ... aware that the data is probably out of date, a client sided cursor might fit ... That is because the SELECT statement is executed on the server and the data ...
    (microsoft.public.vb.database)