Data Across The Network

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Corrine

    #1

    Data Across The Network

    Given a backend on a network server and a frontend on a local computer, when is
    data pulled across the network? For example, does Rst.Recordcount pull data
    across the network? How about Rst.Findfirst? When a form or report opens, do
    they pull all the data in the recordsource across the network?

    Thank you for your help!

    Corrine


  • Tony Toews

    #2
    Re: Data Across The Network

    "Corrine" <cmoody@earthli nk.net> wrote:
    [color=blue]
    >Given a backend on a network server and a frontend on a local computer, when is
    >data pulled across the network? For example, does Rst.Recordcount pull data
    >across the network?[/color]

    Yes,it probably has to pull the entire recordset down as there is no way of telling
    the server to do any processing.
    [color=blue]
    >How about Rst.Findfirst?[/color]

    A little bit of data yes.
    [color=blue]
    >When a form or report opens, do
    >they pull all the data in the recordsource across the network?[/color]

    Yes, I would think they would pull all the data in the recordsource down. Reports
    may even do it twice if you have "Page x of y" in the footer which is the standard
    default report format.

    Tony
    --
    Tony Toews, Microsoft Access MVP
    Please respond only in the newsgroups so that others can
    read the entire thread of messages.
    Microsoft Access Links, Hints, Tips & Accounting Systems at

    Comment

    • Corrine

      #3
      Re: Data Across The Network

      Thanks for responding, Tony!

      So what are some things to do when writing an application to minimize network
      traffic?

      Corrine


      "Tony Toews" <ttoews@teluspl anet.net> wrote in message
      news:f4v7c0hchk th4t8b66ui1pdh4 8g9rsq0ie@4ax.c om...[color=blue]
      > "Corrine" <cmoody@earthli nk.net> wrote:
      >[color=green]
      > >Given a backend on a network server and a frontend on a local computer, when[/color][/color]
      is[color=blue][color=green]
      > >data pulled across the network? For example, does Rst.Recordcount pull data
      > >across the network?[/color]
      >
      > Yes,it probably has to pull the entire recordset down as there is no way of[/color]
      telling[color=blue]
      > the server to do any processing.
      >[color=green]
      > >How about Rst.Findfirst?[/color]
      >
      > A little bit of data yes.
      >[color=green]
      > >When a form or report opens, do
      > >they pull all the data in the recordsource across the network?[/color]
      >
      > Yes, I would think they would pull all the data in the recordsource down.[/color]
      Reports[color=blue]
      > may even do it twice if you have "Page x of y" in the footer which is the[/color]
      standard[color=blue]
      > default report format.
      >
      > Tony
      > --
      > Tony Toews, Microsoft Access MVP
      > Please respond only in the newsgroups so that others can
      > read the entire thread of messages.
      > Microsoft Access Links, Hints, Tips & Accounting Systems at
      > http://www.granite.ab.ca/accsmstr.htm[/color]


      Comment

      • David W. Fenton

        #4
        Re: Data Across The Network

        Tony Toews <ttoews@teluspl anet.net> wrote in
        news:f4v7c0hchk th4t8b66ui1pdh4 8g9rsq0ie@4ax.c om:
        [color=blue]
        > "Corrine" <cmoody@earthli nk.net> wrote:
        >[color=green]
        >>Given a backend on a network server and a frontend on a local
        >>computer, when is data pulled across the network? For example,
        >>does Rst.Recordcount pull data across the network?[/color]
        >
        > Yes,it probably has to pull the entire recordset down as there is
        > no way of telling the server to do any processing.[/color]

        Hmm. I don't think so. It's only going to pull the entire recordset
        if you've done .MoveLast.

        Of course, maybe that is a Rushmore issue -- that the recordset is
        being retrieved asynchronously and if you waited long enough, you'd
        get an accurate .Recordcount even without a .MoveLast.

        It would also depend on whether or not the recordset has an ORDER BY
        clause. But even then, if the fields are indexed, it might need to
        retrieve only the indexes, order them appropriately, and then
        retrieve the actual data pages only when they are called for.
        [color=blue][color=green]
        >>How about Rst.Findfirst?[/color]
        >
        > A little bit of data yes.[/color]

        Again, given indexes, it should be fairly minimal.
        [color=blue][color=green]
        >>When a form or report opens, do
        >>they pull all the data in the recordsource across the network?[/color]
        >
        > Yes, I would think they would pull all the data in the
        > recordsource down. Reports may even do it twice if you have "Page
        > x of y" in the footer which is the standard default report format.[/color]

        Just to clarify: this question sounds like a variation on the
        accusation frequently levelled by people who simply don't understand
        Jet that it pulls the entire table across the network any time you
        request data. Jet does no such thing. I pulls the minimum amount of
        data it needs to walk through the index trees and data pages to find
        the specific data requested.

        I would expect recordsets to have the same efficiencies, though
        probably, in the end, all the data for the rows requested is, in
        fact, retrieved across the network.

        But not any more than that!

        So, keep your recordsets as small as possible to get the job done --
        don't retrieve it all and jump around it with .FindFirst. Instead,
        use an appropriate WHERE clause to retrieve only the data you want.

        --
        David W. Fenton http://www.bway.net/~dfenton
        dfenton at bway dot net http://www.bway.net/~dfassoc

        Comment

        • Tony Toews

          #5
          Re: Data Across The Network

          "David W. Fenton" <dXXXfenton@bwa y.net.invalid> wrote:
          [color=blue]
          >But even then, if the fields are indexed, it might need to
          >retrieve only the indexes, order them appropriately, and then
          >retrieve the actual data pages only when they are called for.[/color]

          Good point. That makes sense.

          Tony
          --
          Tony Toews, Microsoft Access MVP
          Please respond only in the newsgroups so that others can
          read the entire thread of messages.
          Microsoft Access Links, Hints, Tips & Accounting Systems at

          Comment

          • Tony Toews

            #6
            Re: Data Across The Network

            "Corrine" <cmoody@earthli nk.net> wrote:
            [color=blue]
            >Thanks for responding, Tony!
            >
            >So what are some things to do when writing an application to minimize network
            >traffic?[/color]

            The obvious one is to minimize the number of records retrieved. If a complex form
            with a number of subforms on different tabs only fill the subforms when a given tab
            is selected. Same for combo boxes on different tabs.

            Why are you asking though? Are you having performance problems? Going to be using
            Access over a WAN?

            Tony
            --
            Tony Toews, Microsoft Access MVP
            Please respond only in the newsgroups so that others can
            read the entire thread of messages.
            Microsoft Access Links, Hints, Tips & Accounting Systems at

            Comment

            Working...